misc: don't ignore duplicated file in occupancy calculation (#41617)

This commit is contained in:
Frédéric Péters 2020-04-11 10:03:29 +02:00
parent ab890bc6c0
commit ac9a609f2b
3 changed files with 2 additions and 7 deletions

View File

@ -47,4 +47,4 @@ class DocumentManager(models.Manager):
return o
def used_space(self, user):
return sum([doc.content.size for doc in self.filter(user_documents__user=user).distinct()])
return sum([doc.content.size for doc in self.filter(user_documents__user=user)])

View File

@ -254,11 +254,6 @@ class Document(models.Model):
return ''
return {'src': self.thumbnail_data_url, 'width': thumbnail.width, 'height': thumbnail.height}
@classmethod
def occupancy_for_user(cls, user):
documents = cls.objects.filter(user_documents__user=user).distinct()
return float(sum(document.content.size for document in documents))
def __unicode__(self):
return u'%s %s' % (os.path.basename(self.content.name), self.content_hash[:6])

View File

@ -118,7 +118,7 @@ class Homepage(SingleTableMixin, CommonUpload):
ctx = super(Homepage, self).get_context_data(**kwargs)
ctx['include_edit_link'] = settings.INCLUDE_EDIT_LINK
ctx['max_document_size'] = settings.FARGO_MAX_DOCUMENT_SIZE
occupancy = ctx['occupancy'] = models.Document.occupancy_for_user(self.request.user)
occupancy = ctx['occupancy'] = models.Document.objects.used_space(self.request.user)
max_size = ctx['max_portfolio_size'] = settings.FARGO_MAX_DOCUMENT_BOX_SIZE
ctx['occupancy_ratio'] = float(occupancy) / max_size
ctx['occupancy_ratio_percent'] = float(occupancy) * 100.0 / max_size