2017-08-11 2 views
1

J'utilise SilverStripe Dropzone Module pour télécharger des images dans un formulaire frontal. C'est le champ:SilverStripe Dropzone: Impossible de supprimer le fichier

$fields->push(FileAttachmentField::create('ProfileImageID', 'Upload Profile Photo') 
    ->setFolderName('Foo') 
    ->setValue(null, $this) 
    ->imagesOnly() 
    ->setPermissions([ 
     'delete' => true 
    ]) 
); 

La relation est un has. Je définis également l'autorisation de suppression. Dans un premier temps, il semble que je puisse le supprimer, mais si je rafraîchis la page, l'image réapparaît. Je n'ai aucune idée de ce qui me manque. Des conseils?

+0

Je pense que je dois remplacer la méthode de suppression? –

+2

Essayez ceci à la place: 'return Permission :: check ('ADMIN') || ($ member-> ContactID === $ this-> ID) '. –

+0

Merci pour votre effort! Cela n'a rien changé. –

Répondre

1

J'ai découvert le problème. J'ai ProfileImage comme champ obligatoire, donc je ne peux pas enregistrer s'il n'y en a pas. Donc, Dropzone ne supprime pas le fichier. Autant que j'ai compris Dropzone vous devez enregistrer pour réellement supprimer. J'utilise ZenValidator pour la validation. Je ne suis pas sûr, mais j'espère que cela pourrait aider quelqu'un d'autre. Si je me trompe, corrigez-moi s'il vous plaît.