Projet

Général

Profil

0001-replace-slashes-by-hyphen-in-filename.patch

Josué Kouka, 29 juillet 2016 11:36

Télécharger (2,09 ko)

Voir les différences:

Subject: [PATCH] replace slashes by hyphen in filename

 fargo/fargo/models.py |  5 +++++
 tests/test_api.py     | 15 +++++++++++++++
 2 files changed, 20 insertions(+)
fargo/fargo/models.py
25 25
    def save(self, *args, **kwargs):
26 26
        if not self.slug:
27 27
            self.slug = slugify(self.label)
28

  
28 29
        return super(Origin, self).save(*args, **kwargs)
29 30

  
30 31
    def __unicode__(self):
......
60 61
        verbose_name_plural = _('user documents')
61 62
        ordering = ('-created', 'user')
62 63

  
64
    def save(self, *args, **kwargs):
65
        self.filename = self.filename.replace('/', '-')
66
        return super(UserDocument, self).save(*args, **kwargs)
67

  
63 68
    def get_download_url(self):
64 69
        return reverse('download', kwargs={'pk': self.id, 'filename': self.filename})
65 70

  
tests/test_api.py
132 132
    assert response.json['errors'].keys() == ['__all__']
133 133
    assert response.json['errors']['__all__'][0]['code'] == 'box-is-full'
134 134
    assert response.json['errors']['__all__'][0]['limit'] == 4
135

  
136

  
137
def test_push_document_slashed_name(app, admin_user, john_doe):
138
    login(app)
139
    url = reverse('fargo-api-push-document')
140
    data = {
141
        'user_email': john_doe.email,
142
        'origin': 'wcs',
143
        'file_b64_content': base64.b64encode('coin'),
144
        'file_name': 'monfichier 17/08/2016.pdf',
145
    }
146
    response = app.post_json(url, data, status=200)
147
    assert response.json['result'] == 1
148
    assert models.Document.objects.count() == 1
149
    assert models.UserDocument.objects.first().filename == 'monfichier 17-08-2016.pdf'
135
-