Esempio n. 1
0
class Task(models.Model):
	Id = ShortUUIDField(unique=True, primary_key=True, blank=False, editable=False)
	Property = models.ForeignKey(Property, blank=True, on_delete=models.DO_NOTHING)
	Value = models.CharField(max_length=50)
	CreatedOn = models.DateTimeField(auto_now_add=True)
	ModifiedOn = models.DateTimeField(auto_now_add=True)
	_Parser = None

	class Meta:
		ordering = ['-ModifiedOn']

	def save(self, *args, **kwargs):
		if not self.Id:
			self.CreatedOn = timezone.now()
		self.ModifiedOn = timezone.now()
		return super(Task, self).save(*args, **kwargs)

	def __str__(self):
		return u'Set {0} to {1}'.format(self.Property, self.Value)

	def __unicode__(self):
		return u'Set {0} to {1}'.format(self.Property, self.Value)
Esempio n. 2
0
class Control(models.Model):
	Id = ShortUUIDField(unique=True, primary_key=True, blank=False, editable=False)
	Name = models.CharField(max_length=50)
	Tasks = models.ManyToManyField(Task, blank=True)
	Conditions = models.ManyToManyField(Condition, blank=True)
	CreatedOn = models.DateTimeField(auto_now_add=True)
	ModifiedOn = models.DateTimeField(auto_now_add=True)

	class Meta:
		ordering = ['-ModifiedOn']

	def save(self, *args, **kwargs):
		if not self.Id:
			self.CreatedOn = timezone.now()
		self.ModifiedOn = timezone.now()
		return super(Control, self).save(*args, **kwargs)

	def __str__(self):
		return "Task " + self.Name

	def __unicode__(self):
		return "Task " + self.Name
Esempio n. 3
0
class User(AbstractBaseUser, PermissionsMixin):
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11)
    email = models.EmailField(unique=True)
    username = models.CharField(max_length=100)
    nickname = models.CharField(max_length=100, default="")
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    access_part = models.CharField(max_length=200)
    data_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 4
0
class ModBox(models.Model):
    """配置槽模型类"""
    id = ShortUUIDField(primary_key=True)
    modboxs = JSONField()
    type = models.CharField(max_length=20, null=False)
    wfuser = models.ForeignKey(
        'wfusers.WfUser',
        on_delete=models.CASCADE,
        to_field='email',
        db_column='wfuser_email',
        null=False
    )
    warframe = models.ForeignKey(
        'warframes.Warframe',
        on_delete=models.CASCADE,
        to_field='name',
        db_column='warframe_name',
        null=True
    )
    weapon = models.ForeignKey(
        'weapons.Weapon',
        on_delete=models.CASCADE,
        to_field='name',
        db_column='weapon_name',
        null=True
    )

    share_time = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        if self.warframe_id:
            return '{}:--{}'.format(self.wfuser_id, self.warframe_id)
        elif self.weapon_id:
            return '{}:--{}'.format(self.wfuser_id, self.weapon_id)
        else:
            return '{}:--Null'.format(self.wfuser_id)

    class Meta:
        ordering = ['-share_time']
Esempio n. 5
0
class User(AbstractBaseUser, PermissionsMixin):
    # 我们不使用默认的自增长的主键
    # 使用UUID/shortuuid  pip3 install django-shortuuidfield
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11, unique=True)
    email = models.EmailField(unique=True, null=True)
    username = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    data_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'telephone'
    # telephone username password
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'
    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 6
0
class Interface(models.Model):
	Id = ShortUUIDField(unique=True, primary_key=True, blank=False, editable=False)
	Name = models.CharField(max_length=50)
	Editor = models.ForeignKey(Property, null=True, related_name="editor", on_delete=models.DO_NOTHING)
	Monitor = models.ForeignKey(Property, null=True, on_delete=models.DO_NOTHING)
	CreatedOn = models.DateTimeField(auto_now_add=True)
	ModifiedOn = models.DateTimeField(auto_now_add=True)

	class Meta:
		ordering = ['-ModifiedOn']

	def save(self, *args, **kwargs):
		if not self.Id:
			self.CreatedOn = timezone.now()
		self.ModifiedOn = timezone.now()
		return super(Interface, self).save(*args, **kwargs)

	def __str__(self):
		return "Interface " + self.Name

	def __unicode__(self):
		return "Interface " + self.Name
Esempio n. 7
0
class User(AbstractBaseUser, PermissionsMixin):
    #主键不使用自增的 101 102 103 104
    # shortuuid pip install django-shortuuidfield
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11, unique=True)
    email = models.EmailField(null=True, unique=True)
    username = models.CharField(max_length=100, unique=True)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    date_joined = models.DateTimeField(auto_now_add=True)

    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'telephone'
    REQUIRED_FIELDS = ['username']

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_black_user(self):
        return self.objects.filter(is_active=False)
Esempio n. 8
0
class Task(models.Model):  # under category
    uuid = ShortUUIDField(unique=True)
    category = models.ForeignKey(Category,
                                 on_delete=models.CASCADE,
                                 related_name='category')
    title = models.CharField(max_length=100)
    description = HTMLField(blank=True, default=None)
    pdf_file = models.FileField(
        upload_to=upload_location,
        validators=[FileExtensionValidator(allowed_extensions=['pdf'])])
    status = models.IntegerField(choices=STATUS, default=0)
    start_date = models.DateTimeField(verbose_name='start_date')
    last_date = models.DateTimeField(verbose_name='last_date',
                                     blank=True,
                                     null=True)
    is_github = models.BooleanField(
        default=False,
        verbose_name=
        'If you want the participant to provide a GitHub link please select this',
    )

    def __str__(self):
        return self.category.title + "--->" + self.title
class MTUser(AbstractBaseUser, PermissionsMixin):
    uid = ShortUUIDField(primary_key=True, verbose_name="用户主键表")
    telephone = models.CharField(unique=True, max_length=11, verbose_name="手机号")
    email = models.EmailField(max_length=100, verbose_name="邮箱", blank=True)
    username = models.CharField(unique=False, max_length=100, verbose_name="用户名")
    avatar = models.CharField(max_length=200, verbose_name="头像链接")
    date_joined = models.DateTimeField(auto_now_add=True, verbose_name="加入时间")
    is_active = models.BooleanField(default=True, verbose_name="是否可用")
    is_staff = models.BooleanField(default=False, verbose_name="是否为员工")
    is_merchant = models.BooleanField(default=False, verbose_name="是否为商家")

    USERNAME_FIELD = 'telephone'
    REQUIRED_FIELDS = ['username']

    EMAIL_FIELDS = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 10
0
class User(AbstractBaseUser, PermissionsMixin):
    # 用shortuuid当做主键
    # shortuuidfield
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11, unique=True)
    # password = models.CharField(max_length=200)
    email = models.EmailField(unique=True, null=True)
    username = models.CharField(max_length=200)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    data_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'telephone'  # 唯一验证字段
    REQUIRED_FIELDS = ['username']  # 创建超级用户
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 11
0
class User(AbstractBaseUser, PermissionsMixin):
    # 使用shortuuid
    uid = ShortUUIDField(primary_key=True)  #shotuuid,主键
    telephone = models.CharField(max_length=11, unique=True)  #手机号
    password = models.CharField(max_length=200)  #密码
    email = models.EmailField(unique=True, null=True)  #电子邮箱
    username = models.CharField(max_length=100)  #用户名
    is_active = models.BooleanField(default=True)  #账户是否有效
    is_staff = models.BooleanField(default=False)  #是否为员工,是员工可登陆后台
    data_joined = models.DateTimeField(auto_now_add=True)  #注册时间

    USERNAME_FIELD = 'telephone'
    # telephone,username,password
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 12
0
class User(AbstractBaseUser, PermissionsMixin):
    # 使用shortuuid
    # 需要第三方包 shortuuidfield
    # pip install django-shortuuidfield
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11, unique=True)
    username = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    date_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'telephone'    # 验证时username代表的字段是telephone
    REQUIRED_FIELDS = ['username']  # 创建超级用户的时候,需要额外键入值的字段,默认还包括USERNAME_FIELD定义的字段和password
    EMAIL_FIELD = 'email'

    objects = UserManager()  # 注意写法

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 13
0
class User(AbstractBaseUser, PermissionsMixin):
    """用户数据模型"""
    uid = ShortUUIDField(primary_key=True)
    username = models.CharField(max_length=20)
    email = models.EmailField(unique=True, null=True, blank=True)
    telephone = models.CharField(max_length=11, unique=True)
    date_time = models.DateTimeField(auto_now_add=True, null=True, blank=True)

    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)

    USERNAME_FIELD = 'telephone'
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 14
0
class User(AbstractBaseUser, PermissionsMixin):
    #主鍵不選用自增長的id 防止到了101 之後 沒數據
    #選擇uuid  uuid 太長佔據空間  所有選擇 shortuuid
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11, unique=True)
    email = models.EmailField(unique=True, null=True)
    username = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    data_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'telephone'
    #雖然下面只有一個username 但是默認會驗證 username telephone password
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 15
0
class User(AbstractBaseUser, PermissionsMixin):
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(
        max_length=11,
        unique=True,
        validators=[validators.RegexValidator(r'1[3456789]\d{9}')])
    email = models.EmailField(unique=True, null=True)
    username = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    data_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'telephone'
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 16
0
class AssignmentProgress(models.Model):
    assignment = models.ForeignKey(Assignment,
                                   related_name='assignment_progress')
    uuid = ShortUUIDField(unique=True)
    completed_lessons = models.ManyToManyField(
        Lesson, related_name='assignment_progress_completed_lessons')
    updated_on = models.DateTimeField(auto_now=True)
    # assigned_on = assignment.start_on
    start_on = models.DateTimeField(
        blank=True, null=True)  # 1st lesson has been requested by student
    completed_on = models.DateTimeField(blank=True, null=True)
    delayed_on = models.DateTimeField(
        blank=True,
        null=True)  # Assignment completed but after due_on datetime
    student = models.ForeignKey(Profile,
                                related_name='as_students_assignment_progress')

    objects = AssignmentProgressManager()

    class Meta:
        ordering = ['-start_on']
        unique_together = (("assignment", "student"),
                           )  # one progress per user and  assignment
Esempio n. 17
0
class BaseModel(models.Model):
    """
    Base model for possibly every other model.
    """

    # the library does produce unique hash, but just in case
    idx = ShortUUIDField(unique=True)
    created_on = models.DateTimeField(default=timezone.now)
    modified_on = models.DateTimeField(auto_now=True)
    is_obsolete = models.BooleanField(default=False)

    def update(self, **kwargs):
        for attr, value in kwargs.items():
            setattr(self, attr, value)
        self.save()
        return self

    @classmethod
    def new(cls, **kwargs):
        return cls.objects.create(**kwargs)

    @classmethod
    def flush(cls, force_delete=True, **kwargs):
        if force_delete:
            return cls.objects.filter(**kwargs).delete()
        else:
            return cls.objects.filter(**kwargs).update(is_obsolete=True)

    def delete(self, force_delete=True, **kwargs):
        if force_delete:
            super(BaseModel, self).delete(**kwargs)
        else:
            self.update(is_obsolete=True)
            return self

    class Meta:
        abstract = True
Esempio n. 18
0
class BusinessAppInfo(CreateUpdateMixin):
    """ 应用信息类 """

    account_id = models.CharField(_(u'出题账户id'),
                                  max_length=32,
                                  help_text=u'出题账户唯一标识',
                                  db_index=True)

    # APP 配置信息
    app_id = ShortUUIDField(_(u'应用id'),
                            max_length=32,
                            help_text=u'应用唯一标识',
                            db_index=True)
    app_name = models.CharField(_(u'应用名'),
                                max_length=40,
                                blank=True,
                                null=True,
                                help_text=u'应用名')
    app_description = models.TextField(_(u'应用描述'),
                                       blank=True,
                                       null=True,
                                       help_text=u'应用描述')

    class Meta:
        verbose_name = _(u'应用信息')
        verbose_name_plural = _(u'应用信息')

    def __unicode__(self):
        return str(self.pk)

    @property
    def data(self):
        return {
            'app_id': self.app_id,
            'app_name': self.app_name,
            'account_id': self.account_id,
        }
Esempio n. 19
0
class User(AbstractBaseUser, PermissionsMixin):
    """
        用户模型
    """
    #  pip install django-shortuuidfield
    #  使用uuid做为主键
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11, unique=True)
    email = models.EmailField(unique=True, verbose_name='邮箱', null=True)
    username = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True, verbose_name='是否可用')
    is_staff = models.BooleanField(default=False)
    add_time = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'telephone'
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'
    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 20
0
class PayinfoOrder(models.Model):
    uid = ShortUUIDField(primary_key=True, verbose_name='主键')
    payinfo = models.ForeignKey('Payinfo', on_delete=models.PROTECT,
            verbose_name='付费资讯')
    buyer = models.ForeignKey('xfzauth.User', on_delete=models.PROTECT,
                              verbose_name='用户')
    amount = models.DecimalField(max_digits=11, decimal_places=2, default=0,
                                 verbose_name='订单金额')
    pub_time = models.DateTimeField(auto_now_add=True,
                                    verbose_name='订单生成时间')
    istype = models.SmallIntegerField(
            verbose_name='支付类型', default=0,
            choices=((0, '未知'), (1, '支付宝'), (2, '微信')))
    status = models.SmallIntegerField(
            verbose_name='订单状态', default=1, choices=((1, '未支付'), (2, '支付成功')))
    updated_time = models.DateTimeField(auto_now=True, verbose_name='最近修改时间')
    is_deleted = models.BooleanField(default=False, verbose_name='是否已删除')

    def __str__(self):
        return f'{self.payinfo} - {self.buyer}'

    class Meta:
        verbose_name = '付费资讯订单表'
        verbose_name_plural = verbose_name
Esempio n. 21
0
class User(AbstractBaseUser, PermissionsMixin):
    uid = ShortUUIDField(primary_key=True, verbose_name='主键')
    telephone = models.CharField(max_length=11,
                                 unique=True,
                                 verbose_name='手机号')
    email = models.EmailField(unique=True, null=True, verbose_name='邮箱')
    username = models.CharField(max_length=30, verbose_name='用户名')
    is_active = models.BooleanField(default=True, verbose_name='是否有效账号')
    is_staff = models.BooleanField(default=False, verbose_name='是否员工账号')
    last_update = models.DateTimeField(auto_now=True, verbose_name='最近修改时间')
    date_joined = models.DateTimeField(auto_now_add=True,
                                       verbose_name='账号创建时间')

    USERNAME_FIELD = 'telephone'
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 22
0
class Account(models.Model):
    # polje unikatni id
    uuid = ShortUUIDField(unique=True)
    # polje ime, dozvoljena duzina 80 znakova
    name = models.CharField(max_length=80)
    # polje description, nije obavezno za ispuniti
    desc = models.TextField(blank=True)
    address_one = models.CharField(max_length=100)
    address_two = models.CharField(max_length=100, blank=True)
    city = models.CharField(max_length=50)
    state = models.CharField(max_length=2)
    phone = models.CharField(max_length=20)
    # polje owner veze se na usera,uzima id iz usera
    owner = models.ForeignKey(User)
    # polje za kreiranje datuma
    created_on = models.DateField(auto_now_add=True)

    # Obicna klasa definira ponasanje objekta,Meta klasa definira ponasanje klase
    class Meta:
        # ime DB tablice gdje su spremljeni podatci iz klase Account
        verbose_name_plural = 'accounts'

    # Instanc metoda koja uvijek vraca string zapis , self oznacava objekt na kojeg se instanca vrsi
    def __str__(self):
        # vraca owner i name polje iz klase Account
        return "{} {}".format(self.owner, self.name)

    # Instanc metoda koja daje uredeni URL zapis za neki objekt
    def get_absolute_url(self):
        return reverse('account_detail', args=(self.uuid,))

    def get_update_url(self):
        return reverse('account_update', args=(self.uuid,))

    def get_delete_url(self):
        return reverse('account_delete', args=(self.uuid,))
Esempio n. 23
0
def upload_view(request, user_id):

    user = User.objects.get(std_id=user_id)
    file = request.FILES.get('file')
    filename = request.POST.get('filename')
    fuid = ShortUUIDField()

    year = int(request.POST.get('year'))
    department = request.POST.get('dept')
    fileurl = MEDIA_ROOT + fuid + filename.split(".")[-1]
    f = open(fileurl, 'wb')
    for i in file.chunks():
        f.write(i)
    resource = Resource.create(uid=fuid,
                               title=filename,
                               is_valid=True,
                               year=year,
                               department=department,
                               absurl=fileurl,
                               upload_user=user)  # 不知道怎么获取当前用户
    user.upload_history = user.upload_history + ',' + fuid
    resource.save()  # 再把该文件的tag和resource连接起来

    return HttpResponse('上传成功!')
Esempio n. 24
0
class Transmitter(models.Model):
    """Model for antennas transponders."""
    uuid = ShortUUIDField(db_index=True)
    description = models.TextField()
    alive = models.BooleanField(default=True)
    uplink_low = models.PositiveIntegerField(blank=True, null=True)
    uplink_high = models.PositiveIntegerField(blank=True, null=True)
    downlink_low = models.PositiveIntegerField(blank=True, null=True)
    downlink_high = models.PositiveIntegerField(blank=True, null=True)
    mode = models.ForeignKey(Mode,
                             related_name='transmitters',
                             blank=True,
                             null=True,
                             on_delete=models.SET_NULL)
    invert = models.BooleanField(default=False)
    baud = models.FloatField(validators=[MinValueValidator(0)],
                             null=True,
                             blank=True)
    satellite = models.ForeignKey(Satellite,
                                  related_name='transmitters',
                                  null=True)

    def __unicode__(self):
        return self.description
Esempio n. 25
0
class User(AbstractBaseUser, PermissionsMixin):
    uid = ShortUUIDField(primary_key=True)
    username = models.CharField(max_length=18, verbose_name='用户名')
    telephone = models.CharField(max_length=11,
                                 unique=True,
                                 verbose_name='手机号码')
    email = models.EmailField(unique=True, verbose_name='邮箱', null=True)
    is_active = models.BooleanField(default=True, verbose_name='是否为激活用户')
    is_staff = models.BooleanField(default=False, verbose_name='是否为员工')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')

    # 以telephone 作为验证
    USERNAME_FIELD = 'telephone'
    # 创建超级用户需要的字段
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 26
0
class User(AbstractBaseUser,PermissionsMixin):
    #不使用默认自增长组件
    #uuid、shortuuid
    uid = ShortUUIDField(primary_key=True,)
    telephone = models.CharField(max_length=11,unique=True)
    email = models.EmailField(unique=True,null=True)
    username = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
    #是否是公司员工
    is_staff = models.BooleanField(default=False)
    date_joined = models.DateTimeField(auto_now_add=True)

    #创建superuser后会提示输入
    USERNAME_FIELD = 'telephone'
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'

    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username
Esempio n. 27
0
class WeChatTemplateMessageSendLogInfo(BaseModelMixin):
    send_id = ShortUUIDField(_(u'send_id'),
                             max_length=32,
                             help_text=u'发送唯一标识',
                             db_index=True,
                             unique=True)
    request_id = models.CharField(_(u'request_id'),
                                  max_length=32,
                                  blank=True,
                                  null=True,
                                  help_text=u'请求唯一标识',
                                  db_index=True)
    wepush_id = models.CharField(_(u'wepush_id'),
                                 max_length=32,
                                 help_text=u'模板唯一标识',
                                 db_index=True)
    openid = models.CharField(_(u'openid'),
                              max_length=255,
                              blank=True,
                              null=True,
                              help_text=u'接受者Openid',
                              db_index=True)
    send_msgres = models.TextField(_(u'send_msgres'),
                                   blank=True,
                                   null=True,
                                   help_text=u'发送回执')
    send_status = models.BooleanField(_(u'send_status'),
                                      default=True,
                                      help_text=u'发送状态')

    class Meta:
        verbose_name = _(u'wechattemplatemessagesendloginfo')
        verbose_name_plural = _(u'wechattemplatemessagesendloginfo')

    def __unicode__(self):
        return unicode(self.pk)
Esempio n. 28
0
class User(AbstractUser):
    uuid = ShortUUIDField(primary_key=True)

    def save(self, *args, **kwargs):
        super(User, self).save(*args, **kwargs)
        try:
            UserCo2.objects.get(user=self)
        except UserCo2.DoesNotExist:
            self.create_userco2()
        try:
            UserToken.objects.get(user=self)
        except UserToken.DoesNotExist:
            self.create_usertoken()

    def create_userco2(self):
        userco2 = UserCo2(user=self)
        userco2.save()

    def create_usertoken(self):
        usertoken = UserToken(user=self)
        usertoken.save()

    def __str__(self):
        return self.email
Esempio n. 29
0
class Communication(models.Model):
    uuid = ShortUUIDField(unique=True)
    subject = models.CharField(max_length=50)
    notes = models.TextField()
    kind = models.PositiveSmallIntegerField(choices=TYPE_LIST)
    date = models.DateField()
    owner = models.ForeignKey(User)
    account = models.ForeignKey(Account)
    created_on = models.DateField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'communications'

    def __str__(self):
        return u"%s" % self.subject

    def get_absolute_url(self):
        return reverse('comm:comm_detail', args=[self.uuid])

    def get_update_url(self):
        return reverse('comm:comm_update', args=[self.uuid])

    def get_delete_url(self):
        return reverse('comm:comm_delete', args=[self.id])
Esempio n. 30
0
class User(AbstractBaseUser, PermissionsMixin):
    # 暂时不使用自增长的主键,容易被别人抓住造假
    # 因此采用uuid/shortuuid字段
    # 需要安装shortuuid
    uid = ShortUUIDField(primary_key=True)
    telephone = models.CharField(max_length=11, unique=True)
    # password = models.CharField(max_length=200)
    email = models.EmailField(unique=True)
    username = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    data_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'telephone'
    # telephone username password
    REQUIRED_FIELDS = ['username']
    EMAIL_FIELD = 'email'
    objects = UserManager()

    def get_full_name(self):
        return self.username

    def get_short_name(self):
        return self.username