# coding=utf-8 from django.db import models from django.conf import settings from PIL import Image from apps.tenant.models import Tenant from utils.file_operation import UploadFile, DeleteFile config_file = 'config/' class Config(models.Model): KEY_REPAIRS_PERSON = 'repairs_person' #报修人员 KEY_SEND_ORDER_TYPE = 'send_order_type' #派单方式 WXAPP_HOME_IMG = 'wxapp_home_img' #小程序首页图片 tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, editable=False) property = models.CharField(max_length=100, verbose_name=u'属性') value = models.TextField(verbose_name=u'值') class Meta: db_table = "system_config" verbose_name = u"基础设置" index_together = ( 'property', ) default_permissions = () permissions = [ ('browse_config', u'查看'), ('set_config', u'设置'), ] @staticmethod def getRepairsPerson(tenant_id): try: row = Config.objects.get(property=Config.KEY_REPAIRS_PERSON, tenant_id=tenant_id) return row.value except: return '' @staticmethod def getSendOrderType(tenant_id): try: row = Config.objects.get(property=Config.KEY_SEND_ORDER_TYPE, tenant_id=tenant_id) return row.value except: return '' @staticmethod def add_img(employee, property, file): path = '{0}{1}/{2}/'.format(config_file,property,employee.user.id) filename = UploadFile(file, path) fullname = "%s/%s" % (settings.MEDIA_ROOT, filename) try: img = Image.open(fullname) x, y = img.size if x > 1440: img = img.resize((1440, int((y / x) * 1440)), Image.ANTIALIAS) img.save(fullname) except: pass return filename @staticmethod def del_images(instance): picture = instance.value instance.delete() DeleteFile(picture)