Ejemplo n.º 1
0
 def loadDomainAttr(self, item, itemType=""):
     if itemType:
         value = DomainAttr.getAttrObjValue(domain_id=self.domain_id,
                                            type=itemType,
                                            item=item)
     else:
         value = DomainAttr.getAttrObjValue(domain_id=self.domain_id,
                                            item=item)
     return value
Ejemplo n.º 2
0
    def __init__(self, domain, *args, **kwargs):
        super(MailboxForm, self).__init__(*args, **kwargs)

        self.fields['name'].widget = forms.TextInput(attrs={
            "placeholder": _(u"邮箱名称"),
        })
        self.domain = domain
        self.domain_str = domain.domain
        self.mailbox = None
        self.fields['domain'].required = False
        self.fields['domain_str'].required = False
        self.fields['username'].required = False
        self.fields['recvsms'].required = False
        self.fields['name'].widget.attrs.update({'addon': self.domain_str})
        self.fields['quota_mailbox'].widget.attrs.update({'addon': u'MB'})
        self.fields['quota_netdisk'].widget.attrs.update({'addon': u'MB'})
        self.fields['pwd_days'].widget.attrs.update({'addon': _(u'天')})

        mailbox_size = DomainAttr.getAttrObjValue(self.domain.id, 'system',
                                                  'cf_def_mailbox_size')
        netdisk_size = DomainAttr.getAttrObjValue(self.domain.id, 'system',
                                                  'cf_def_netdisk_size')
        limit_send = DomainAttr.getAttrObjValue(self.domain.id, 'system',
                                                'limit_send')
        limit_recv = DomainAttr.getAttrObjValue(self.domain.id, 'system',
                                                'limit_recv')
        if self.instance.pk:
            limit_send = self.instance.getSendLimit
            limit_recv = self.instance.getRecvLimit
        self.is_check_passwd = True

        if mailbox_size:
            self.fields['quota_mailbox'].initial = mailbox_size
        if netdisk_size:
            self.fields['quota_netdisk'].initial = netdisk_size
        if limit_send:
            self.fields['limit_send'].initial = limit_send
        if limit_recv:
            self.fields['limit_recv'].initial = limit_recv

        self.raw_password = ""
        self.fields['use_group'].required = False
        self.fields['limit_send'].required = False
        self.fields['limit_recv'].required = False
        if self.instance.pk:
            self.raw_password = kwargs["instance"].password
            self.fields['password1'].required = False
            self.fields['password2'].required = False
            s = self.instance.size
            size = s.size if s else 0
            self.fields['quota_mailbox'].widget.attrs.update(
                {'addon': _(u'MB(已使用{}MB)').format(size)})
            self.fields['name'].widget.attrs.update({'readonly': 'readonly'})
Ejemplo n.º 3
0
 def loadDomainAttr(self, item, itemType=""):
     key = "tmp_{}".format(item)
     if hasattr(self, key):
         return getattr(self, key)
     if itemType:
         value = DomainAttr.getAttrObjValue(domain_id=self.domain_id,
                                            type=itemType,
                                            item=item)
     else:
         value = DomainAttr.getAttrObjValue(domain_id=self.domain_id,
                                            item=item)
     setattr(self, key, value)
     return value
Ejemplo n.º 4
0
 def _get_domain_mailbox_limit(self, domain_id):
     return {
         'mailbox_count_limit':
         toint(
             DomainAttr.getAttrObjValue(domain_id, 'system',
                                        'cf_limit_mailbox_cnt')),
         'mailbox_size_limit':
         toint(
             DomainAttr.getAttrObjValue(domain_id, 'system',
                                        'cf_limit_mailbox_size')),
         'netdisk_size_limit':
         toint(
             DomainAttr.getAttrObjValue(domain_id, 'system',
                                        'cf_limit_netdisk_size')),
     }
Ejemplo n.º 5
0
        info = lic.get_licence_info()
    except Exception,err:
        print "licence error:  ",err
        lines = []
        import traceback
        for line in traceback.format_exc().strip().split('\n') : lines.append('  > ' + line)
        err_msg = '\n'.join(lines)
        print "err_msg:   ",err_msg
        return False

    now = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
    #试用期用户
    try:
        if info['evaluation']:
            from app.core.models import DomainAttr
            value = DomainAttr.getAttrObjValue(domain_id=1,type='system',item='created')
            if not value:
                print "domain_attr has no created flag!!!"
                return False
            start = time.mktime(time.strptime(value,'%Y-%m-%d %H:%M:%S'))
            end = int(start) + 30*24*3600
            end = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(end))
            info["expires_time"] = datetime.datetime.strptime(end,'%Y-%m-%d %H:%M:%S')
            #print "evaluation version start: %s end: %s"%(value, end)
    except Exception,err:
        print "licence trans time error:  ",err
        return False

    #print info
    if info.get("expires_time","") and info["expires_time"].strftime('%Y%m%d%H%M%S')<=now:
        print "invalid licence expires_time:  ",info
Ejemplo n.º 6
0
            shutil.copy(licence_file, '{}.{}'.format(licence_file, now))
            open(licence_file, 'w').write(licence_data)
            messages.add_message(request, messages.SUCCESS, u'授权文件更新成功')
        return HttpResponseRedirect(reverse('system_licence'))

    try:
        lic = Licence(licence_file=licence_file)
        info = lic.get_licence_info()
    except:
        info = {}
        messages.add_message(request, messages.ERROR, u'授权文件格式错误,请重新导入')
    # 测试用户信息处理
    if info.get('evaluation', ''):
        # 生成试用期信息
        system_created = DomainAttr.getAttrObjValue(1, 'system', 'created')
        trial_begin = datetime.datetime.strptime(system_created,
                                                 '%Y-%m-%d %H:%M:%S')
        trial_end = trial_begin + datetime.timedelta(days=30)
        extra_module = ['all']
    else:
        # 正式用户信息处理
        trial_begin = ''
        trial_end = ''

        # 扩展模块信息
        try:
            extra_module = lic.get_available_module()
        except:
            extra_module = ''