Commit 9303415b authored by ibuler's avatar ibuler

modify some issues

parent 8b8e391f
# -*- coding: utf-8 -*-
# Generated by Django 1.10 on 2016-08-09 17:23
# Generated by Django 1.10 on 2016-08-13 16:36
from __future__ import unicode_literals
import django.contrib.auth.models
......@@ -32,28 +32,56 @@ class Migration(migrations.Migration):
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
('avatar', models.ImageField(default='', upload_to=b'', verbose_name='\u5934\u50cf')),
('wechat', models.CharField(max_length=30, verbose_name='\u5fae\u4fe1')),
('phone', models.CharField(max_length=20, verbose_name='\u624b\u673a')),
('enable_2FA', models.BooleanField(default=False, verbose_name='\u542f\u7528\u4e8c\u6b21\u9a8c\u8bc1')),
('secret_key_2FA', models.CharField(max_length=16)),
('private_key', models.CharField(max_length=5000)),
('public_key', models.CharField(max_length=1000)),
('created_by', models.CharField(max_length=30)),
('date_expired', models.DateTimeField()),
],
options={
'abstract': False,
'verbose_name': 'user',
'verbose_name_plural': 'users',
'db_table': 'user',
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
migrations.CreateModel(
name='Group',
name='Role',
fields=[
('group_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='auth.Group')),
('comment', models.CharField(blank=True, max_length=80)),
],
options={
'db_table': 'role',
},
bases=('auth.group',),
),
migrations.CreateModel(
name='UserGroup',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(help_text='\u8bf7\u8f93\u5165\u7ec4\u540d\u79f0', max_length=100, unique=True, verbose_name='\u7ec4\u540d\u79f0')),
('comment', models.TextField(blank=True, help_text='\u8bf7\u8f93\u5165\u7528\u6237\u7ec4\u63cf\u8ff0', verbose_name='\u63cf\u8ff0')),
('date_added', models.DateTimeField(auto_now_add=True)),
('created_by', models.CharField(max_length=100)),
],
options={
'db_table': 'usergroup',
},
),
migrations.AddField(
model_name='user',
name='groups',
field=models.ManyToManyField(to='users.Group'),
field=models.ManyToManyField(to='users.UserGroup'),
),
migrations.AddField(
model_name='user',
name='role',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='users.Role'),
),
migrations.AddField(
model_name='user',
......
# -*- coding: utf-8 -*-
# Generated by Django 1.10 on 2016-08-10 07:16
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('users', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='user',
options={},
),
migrations.AlterModelTable(
name='user',
table='user',
),
]
# ~*~ coding: utf-8 ~*~
from __future__ import unicode_literals
from django.db import models
......@@ -5,13 +7,41 @@ from django.contrib.auth.models import AbstractUser
from django.contrib.auth.models import Group as AbstractGroup
class Group(AbstractGroup):
class Role(AbstractGroup):
comment = models.CharField(max_length=80, blank=True)
def __unicode__(self):
return self.name
class User(AbstractUser):
class Meta:
db_table = 'role'
class UserGroup(models.Model):
name = models.CharField(max_length=100, unique=True, verbose_name='组名称', help_text='请输入组名称')
comment = models.TextField(blank=True, verbose_name='描述', help_text='请输入用户组描述')
date_added = models.DateTimeField(auto_now_add=True)
created_by = models.CharField(max_length=100)
groups = models.ManyToManyField(Group)
def __unicode__(self):
return self.name
class Meta:
db_table = 'usergroup'
class User(AbstractUser):
groups = models.ManyToManyField(UserGroup)
avatar = models.ImageField(verbose_name='头像', default='')
wechat = models.CharField(max_length=30, verbose_name='微信')
phone = models.CharField(max_length=20, verbose_name='手机')
enable_2FA = models.BooleanField(default=False, verbose_name='启用二次验证')
secret_key_2FA = models.CharField(max_length=16)
role = models.ForeignKey(Role, on_delete=models.PROTECT)
private_key = models.CharField(max_length=5000) # ssh key max length 4096 bit
public_key = models.CharField(max_length=1000)
created_by = models.CharField(max_length=30)
date_expired = models.DateTimeField()
@property
def name(self):
......
<?xml version="1.0" encoding="utf-8" ?>
<!-- SQL XML created by WWW SQL Designer, https://github.com/ondras/wwwsqldesigner/ -->
<!-- Active URL: http://ondras.zarovi.cz/sql/demo/?keyword=jumpserver -->
<!-- Active URL: http://ondras.zarovi.cz/sql/demo/?keyword=default -->
<sql>
<datatypes db="mysql">
<group color="rgb(238,238,170)" label="Numeric">
......@@ -127,6 +127,9 @@
<row name="date_added" null="1" autoincrement="0">
<datatype>DATETIME</datatype>
<default>NULL</default></row>
<row name="created_by" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
<default>NULL</default></row>
<key type="PRIMARY" name="">
<part>id</part>
</key>
......@@ -229,7 +232,7 @@
<default>NULL</default></row>
<row name="type" null="1" autoincrement="0">
<datatype>INTEGER</datatype>
<default>NULL</default><relation table="asset待定" row="id" />
<default>NULL</default><relation table="assetextend" row="id" />
</row>
<row name="brand" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
......@@ -251,7 +254,7 @@
<default>NULL</default></row>
<row name="env" null="1" autoincrement="0">
<datatype>INTEGER</datatype>
<default>NULL</default><relation table="asset待定" row="id" />
<default>NULL</default><relation table="assetextend" row="id" />
</row>
<row name="cpu" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
......@@ -276,7 +279,7 @@
<part>id</part>
</key>
</table>
<table x="1278" y="684" name="asset待定">
<table x="1278" y="684" name="assetextend">
<row name="id" null="1" autoincrement="1">
<datatype>INTEGER</datatype>
<default>NULL</default></row>
......@@ -318,6 +321,9 @@
<row name="comment" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
<default>NULL</default></row>
<row name="created_by" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
<default>NULL</default></row>
<row name="date_added" null="1" autoincrement="0">
<datatype>DATETIME</datatype>
<default>NULL</default></row>
......@@ -325,7 +331,7 @@
<part>id</part>
</key>
</table>
<table x="1269" y="220" name="asset_label">
<table x="1269" y="220" name="assetlabel">
<row name="id" null="1" autoincrement="1">
<datatype>INTEGER</datatype>
<default>NULL</default></row>
......@@ -335,8 +341,7 @@
</row>
<row name="key" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
<default>NULL</default><relation table="asset待定" row="id" />
</row>
<default>NULL</default></row>
<row name="value" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
<default>NULL</default></row>
......@@ -544,6 +549,12 @@
<row name="comment" null="1" autoincrement="0">
<datatype>CHAR</datatype>
<default>NULL</default></row>
<row name="created_by" null="1" autoincrement="0">
<datatype>VARCHAR</datatype>
<default>NULL</default></row>
<row name="date_added" null="1" autoincrement="0">
<datatype>TIME</datatype>
<default>NULL</default></row>
<key type="PRIMARY" name="">
<part>id</part>
</key>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment