|
@@ -7,6 +7,7 @@ from django.db import models
|
|
|
from utils.file_operation import UploadFile, DeleteFile
|
|
|
from django.utils import timezone
|
|
|
from apps.agent.models import Store
|
|
|
+from apps.order.models import ProgressDetails
|
|
|
|
|
|
class UploadManager(models.Manager):
|
|
|
|
|
@@ -16,11 +17,11 @@ class UploadManager(models.Manager):
|
|
|
# def customer_addnew(self, customer, type, file):
|
|
|
# return self._addnew(customer.tenant, customer.user, type, file)
|
|
|
|
|
|
- def _addnew(self, tenant, user, type, file):
|
|
|
+ def _addnew(self, store, progress_details, user, file):
|
|
|
width = None
|
|
|
height = None
|
|
|
|
|
|
- path = UploadManager.calculatePath(type, tenant.id)
|
|
|
+ path = UploadManager.calculatePath(store.id)
|
|
|
filename = UploadFile(file, path, user.id)
|
|
|
fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
|
|
|
size = os.path.getsize(fullname)
|
|
@@ -37,9 +38,9 @@ class UploadManager(models.Manager):
|
|
|
pass
|
|
|
|
|
|
instance = self.model(
|
|
|
- tenant=tenant,
|
|
|
+ store=store,
|
|
|
+ progress_details=progress_details,
|
|
|
user=user,
|
|
|
- type=type,
|
|
|
name=file.name,
|
|
|
picture="%s%s" % (settings.MEDIA_URL, filename),
|
|
|
width=width,
|
|
@@ -49,17 +50,16 @@ class UploadManager(models.Manager):
|
|
|
instance.save()
|
|
|
return instance
|
|
|
|
|
|
- def _addnew_voice(self, tenant, user, type, file, time):
|
|
|
+ def _addnew_voice(self, store, user, file, time):
|
|
|
|
|
|
- path = UploadManager.calculatePath(type, tenant.id)
|
|
|
+ path = UploadManager.calculatePath(store.id)
|
|
|
filename = UploadFile(file, path, user.id)
|
|
|
fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
|
|
|
size = os.path.getsize(fullname)
|
|
|
|
|
|
instance = self.model(
|
|
|
- tenant=tenant,
|
|
|
+ store=store,
|
|
|
user=user,
|
|
|
- type=type,
|
|
|
name=file.name,
|
|
|
picture="%s%s" % (settings.MEDIA_URL, filename),
|
|
|
width=200,
|
|
@@ -71,36 +71,18 @@ class UploadManager(models.Manager):
|
|
|
return instance
|
|
|
|
|
|
@staticmethod
|
|
|
- def calculatePath(type, tenant_id):
|
|
|
- path_map = {
|
|
|
- Upload.REPAIR_IMAGE: repair_image,
|
|
|
- Upload.INSPECTION_IMAGE: inspection_image,
|
|
|
- Upload.COMPANY_IMAGE: company_image,
|
|
|
- Upload.REPAIR_VOICE:repair_image,
|
|
|
- }
|
|
|
+ def calculatePath(store_id):
|
|
|
+ return order_image + str(store_id) + '/'
|
|
|
|
|
|
- return path_map[type] + str(tenant_id) + '/'
|
|
|
|
|
|
+order_image = "order/"
|
|
|
|
|
|
-repair_image = "repair/"
|
|
|
-inspection_image = "inspection/"
|
|
|
-company_image = "company/"
|
|
|
|
|
|
class Upload(models.Model):
|
|
|
- REPAIR_IMAGE = 1
|
|
|
- INSPECTION_IMAGE = 2
|
|
|
- COMPANY_IMAGE = 3
|
|
|
- REPAIR_VOICE = 4
|
|
|
- TYPE_CHOICES = (
|
|
|
- (REPAIR_IMAGE, u'报修图片'),
|
|
|
- (INSPECTION_IMAGE, u'巡检图片'),
|
|
|
- (COMPANY_IMAGE, u'营业执照图片'),
|
|
|
- (REPAIR_VOICE, u'报修语音')
|
|
|
- )
|
|
|
|
|
|
store = models.ForeignKey(Store, verbose_name=u'门店', on_delete=models.PROTECT)
|
|
|
+ progress_details = models.ForeignKey(ProgressDetails, verbose_name=u'进度明细', on_delete=models.PROTECT)
|
|
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'操作人', on_delete=models.PROTECT)
|
|
|
- type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类型")
|
|
|
name = models.CharField(verbose_name=u'图片名', max_length=250)
|
|
|
picture = models.CharField(verbose_name=u'图片路径', max_length=250)
|
|
|
width = models.IntegerField(verbose_name=u"图片宽度", blank=True, default=0)
|
|
@@ -115,7 +97,6 @@ class Upload(models.Model):
|
|
|
verbose_name = u'文件上传'
|
|
|
ordering = ['-create_time']
|
|
|
index_together = (
|
|
|
- 'type',
|
|
|
'create_time',
|
|
|
)
|
|
|
default_permissions = ()
|