Commit e168fc9da25166064709c96e8335af1e0a24196d
1 parent
3b30ee82
Exists in
master
and in
5 other branches
algumas alterações nos models
Showing
28 changed files
with
389 additions
and
385 deletions
Show diff stats
.gitignore
app/migrations/0001_initial.py
core/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | import autoslug.fields |
... | ... | @@ -22,7 +22,7 @@ class Migration(migrations.Migration): |
22 | 22 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
23 | 23 | ('name', models.CharField(max_length=100, verbose_name='Name')), |
24 | 24 | ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), |
25 | - ('created_date', models.DateField(auto_now_add=True, verbose_name='Created Date')), | |
25 | + ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created Date')), | |
26 | 26 | ], |
27 | 27 | options={ |
28 | 28 | 'verbose_name': 'Action', |
... | ... | @@ -84,7 +84,7 @@ class Migration(migrations.Migration): |
84 | 84 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
85 | 85 | ('name', models.CharField(max_length=100, verbose_name='Name')), |
86 | 86 | ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), |
87 | - ('created_date', models.DateField(auto_now_add=True, verbose_name='Created Date')), | |
87 | + ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created Date')), | |
88 | 88 | ('url', models.CharField(default='', max_length=100, verbose_name='URL')), |
89 | 89 | ], |
90 | 90 | options={ | ... | ... |
core/migrations/0002_auto_20161114_0144.py
... | ... | @@ -1,50 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
3 | -from __future__ import unicode_literals | |
4 | - | |
5 | -from django.conf import settings | |
6 | -from django.db import migrations, models | |
7 | -import django.db.models.deletion | |
8 | - | |
9 | - | |
10 | -class Migration(migrations.Migration): | |
11 | - | |
12 | - initial = True | |
13 | - | |
14 | - dependencies = [ | |
15 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
16 | - ('core', '0001_initial'), | |
17 | - ] | |
18 | - | |
19 | - operations = [ | |
20 | - migrations.AddField( | |
21 | - model_name='notification', | |
22 | - name='actor', | |
23 | - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Perfomer'), | |
24 | - ), | |
25 | - migrations.AddField( | |
26 | - model_name='notification', | |
27 | - name='user', | |
28 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User'), | |
29 | - ), | |
30 | - migrations.AddField( | |
31 | - model_name='log', | |
32 | - name='action_resource', | |
33 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource'), | |
34 | - ), | |
35 | - migrations.AddField( | |
36 | - model_name='log', | |
37 | - name='user', | |
38 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor'), | |
39 | - ), | |
40 | - migrations.AddField( | |
41 | - model_name='action_resource', | |
42 | - name='action', | |
43 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied'), | |
44 | - ), | |
45 | - migrations.AddField( | |
46 | - model_name='action_resource', | |
47 | - name='resource', | |
48 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'), | |
49 | - ), | |
50 | - ] |
... | ... | @@ -0,0 +1,50 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.conf import settings | |
6 | +from django.db import migrations, models | |
7 | +import django.db.models.deletion | |
8 | + | |
9 | + | |
10 | +class Migration(migrations.Migration): | |
11 | + | |
12 | + initial = True | |
13 | + | |
14 | + dependencies = [ | |
15 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
16 | + ('core', '0001_initial'), | |
17 | + ] | |
18 | + | |
19 | + operations = [ | |
20 | + migrations.AddField( | |
21 | + model_name='notification', | |
22 | + name='actor', | |
23 | + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Performer'), | |
24 | + ), | |
25 | + migrations.AddField( | |
26 | + model_name='notification', | |
27 | + name='user', | |
28 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User'), | |
29 | + ), | |
30 | + migrations.AddField( | |
31 | + model_name='log', | |
32 | + name='action_resource', | |
33 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource'), | |
34 | + ), | |
35 | + migrations.AddField( | |
36 | + model_name='log', | |
37 | + name='user', | |
38 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor'), | |
39 | + ), | |
40 | + migrations.AddField( | |
41 | + model_name='action_resource', | |
42 | + name='action', | |
43 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied'), | |
44 | + ), | |
45 | + migrations.AddField( | |
46 | + model_name='action_resource', | |
47 | + name='resource', | |
48 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'), | |
49 | + ), | |
50 | + ] | ... | ... |
core/models.py
... | ... | @@ -27,7 +27,7 @@ class Action(models.Model): |
27 | 27 | |
28 | 28 | name = models.CharField(_('Name'), max_length = 100) |
29 | 29 | slug = AutoSlugField(_("Slug"), populate_from=('name'), unique=True) |
30 | - created_date = models.DateField(_('Created Date'), auto_now_add=True) | |
30 | + created_date = models.DateTimeField(_('Created Date'), auto_now_add=True) | |
31 | 31 | |
32 | 32 | class Meta: |
33 | 33 | verbose_name = "Action" |
... | ... | @@ -51,7 +51,7 @@ class Resource(models.Model): |
51 | 51 | |
52 | 52 | name = models.CharField(_('Name'), max_length =100) |
53 | 53 | slug = AutoSlugField(_("Slug"), populate_from='name', unique=True) |
54 | - created_date = models.DateField(_('Created Date'), auto_now_add=True) | |
54 | + created_date = models.DateTimeField(_('Created Date'), auto_now_add=True) | |
55 | 55 | url = models.CharField(_('URL'), max_length =100, default="") |
56 | 56 | |
57 | 57 | ... | ... |
core/templates/register_user.html
... | ... | @@ -12,103 +12,108 @@ |
12 | 12 | |
13 | 13 | |
14 | 14 | {% block content %} |
15 | - {% if messages %} | |
16 | - {% for message in messages %} | |
17 | - <div class="alert alert-{{ message.tags }} alert-dismissible" role="alert"> | |
18 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | |
19 | - <span aria-hidden="true">×</span> | |
20 | - </button> | |
21 | - <p>{{ message }}</p> | |
22 | - </div> | |
23 | - {% endfor %} | |
24 | - {% endif %} | |
25 | - <div class="row"> | |
26 | - <div class="col-lg-offset-4 col-lg-8 col-md-offset-4 col-md-8 col-xs-offset-4 col-xs-8 col-sm-offset-4 col-sm-8"> | |
27 | - <div class="col-lg-8 col-md-8 col-xs-8 col-sm-8"> | |
28 | - <img src="{% static 'img/amadeus.png' %}" class="img-responsive center-block " alt="logo amadeus" id="logo"> | |
29 | - </div> | |
30 | - </div> | |
15 | +{% if messages %} | |
16 | +{% for message in messages %} | |
17 | +<div class="alert alert-{{ message.tags }} alert-dismissible" role="alert"> | |
18 | + <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | |
19 | + <span aria-hidden="true">×</span> | |
20 | + </button> | |
21 | + <p>{{ message }}</p> | |
22 | +</div> | |
23 | +{% endfor %} | |
24 | +{% endif %} | |
25 | +<div class="row"> | |
26 | + <div class="col-sm-6 col-sm-offset-4 col-md-6 col-md-offset-4 col-xs-6 col-xs-offset-4 col-lg-6 col-lg-offset-4 col-xl-6 col-xl-offset-4 "> | |
27 | + <div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2 col-xs-8 col-xs-offset-2 col-lg-8 col-lg-offset-2 col-xl-8 col-xl-offset-2"> | |
28 | + <img src="{% static 'img/amadeus.png' %}" class="img-responsive center-block logo-login " alt="logo amadeus"> | |
31 | 29 | </div> |
30 | + </div> | |
31 | +</div> | |
32 | 32 | |
33 | - <div class="row"> | |
34 | - <div class="col-lg-8 col-lg-offset-3 col-md-8 col-md-offset-3 col-sm-8 col-sm-offset-3 col-xs-8 col-xs-offset-3"> | |
35 | - <div class="card"> | |
36 | - <div class="card-body"> | |
37 | - <form class="form-horizontal" name="registerForm" method="post" action="" enctype="multipart/form-data"> | |
38 | - {% csrf_token %} | |
39 | - <legend>{% trans 'User Register' %}</legend> | |
40 | - {% for field in form %} | |
41 | - <div class="form-group is-empty {% if form.has_error %} has-error {% endif %} is-fileinput"> | |
42 | - {% if field.field.required %} | |
43 | - <label for="{{ field.auto_id }}" class="col-md-2 control-label">{{ field.label }}<span>*</span></label> | |
44 | - {% else %} | |
45 | - <label for="{{ field.auto_id }}" class="col-md-2 control-label">{{ field.label }}</label> | |
46 | - {% endif %} | |
47 | - <div class="col-md-10"> | |
48 | - {% if field.auto_id == 'id_birth_date' %} | |
49 | - {% render_field field class='form-control input-sm date-picker' %} | |
50 | - | |
51 | - <span id="helpBlock" class="help-block">{{ field.help_text }}</span> | |
52 | - {% elif field.auto_id == 'id_image' %} | |
53 | - {% render_field field class='form-control input-sm' %} | |
54 | - <div class="input-group"> | |
55 | - <input type="text" readonly="" class="form-control" placeholder="Choose your photo..."> | |
56 | - <span class="input-group-btn input-group-sm"> | |
57 | - <button type="button" class="btn btn-fab btn-fab-mini"> | |
58 | - <i class="material-icons">attach_file</i> | |
59 | - </button> | |
60 | - </span> | |
61 | - </div> | |
62 | - {% elif field.auto_id == 'id_curriculum' %} | |
63 | - {% render_field field class='form-control input-sm' %} | |
64 | - <div class="input-group"> | |
65 | - <input type="text" readonly="" class="form-control" placeholder="{% trans 'Choose the file ...' %}"> | |
66 | - <span class="input-group-btn input-group-sm"> | |
67 | - <button type="button" class="btn btn-fab btn-fab-mini"> | |
68 | - <i class="material-icons">attach_file</i> | |
69 | - </button> | |
70 | - </span> | |
71 | - </div> | |
72 | - {% elif field.auto_id == 'id_cpf' %} | |
73 | - {% render_field field class='form-control' onkeypress='campoNumerico(this,event); formatarCpf(this,event);' %} | |
74 | - | |
75 | - {% elif field.auto_id == 'id_year_titration' %} | |
76 | - {% render_field field class='form-control' onkeypress='campoNumerico(this,event);' %} | |
33 | +<div class="row"> | |
34 | + <div class="col-lg-8 col-lg-offset-3 col-md-8 col-md-offset-3 col-sm-8 col-sm-offset-3 col-xs-8 col-xs-offset-3"> | |
35 | + <div class="card"> | |
36 | + <div class="card-body"> | |
37 | + <div class="row"> | |
38 | + <div class="col-md-12 text-center"> | |
39 | + <h2 style="color:#43a251"><strong>{% trans "User Register" %}</strong></h2> | |
40 | + </div> | |
41 | + </div> | |
77 | 42 | |
78 | - {% elif field.auto_id == 'id_phone' %} | |
79 | - {% render_field field class='form-control' onkeypress='campoNumerico(this,event); formatarTelefone(this,event);' %} | |
80 | - {% else %} | |
81 | - {% render_field field class='form-control' %} | |
82 | - <span id="helpBlock" class="help-block">{{ field.help_text }}</span> | |
83 | - {% endif %} | |
84 | - </div> | |
43 | + <form class="form-horizontal" name="registerForm" method="post" action="" enctype="multipart/form-data"> | |
44 | + {% csrf_token %} | |
45 | + {% for field in form %} | |
46 | + <div class="form-group is-empty {% if form.has_error %} has-error {% endif %} is-fileinput"> | |
47 | + {% if field.field.required %} | |
48 | + <label for="{{ field.auto_id }}" class="col-md-2 control-label">{{ field.label }}<span>*</span></label> | |
49 | + {% else %} | |
50 | + <label for="{{ field.auto_id }}" class="col-md-2 control-label">{{ field.label }}</label> | |
51 | + {% endif %} | |
52 | + <div class="col-md-10"> | |
53 | + {% if field.auto_id == 'id_birth_date' %} | |
54 | + {% render_field field class='form-control input-sm date-picker' %} | |
85 | 55 | |
86 | - {% if field.errors %} | |
87 | - <div class="alert alert-danger alert-dismissible col-md-offset-1 col-md-10 col-sm-offset-1 col-sm-10 col-xs-offset-1 col-xs-10" role="alert"> | |
88 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | |
89 | - <span aria-hidden="true">×</span> | |
90 | - </button> | |
91 | - <ul> | |
92 | - {% for error in field.errors %} | |
93 | - <li>{{ error }}</li> | |
94 | - {% endfor %} | |
95 | - </ul> | |
96 | - </div> | |
97 | - {% endif %} | |
98 | - </div> | |
99 | - {% endfor %} | |
100 | - <div class="col-md-offset-2 col-md-6 col-sm-offset-2 col-sm-6 col-xs-6 col-xs-offset-2 col-xs-6"> | |
101 | - <input type="submit" value="{% trans 'Save' %}" class="btn btn-raised btn-primary" /> | |
56 | + <span id="helpBlock" class="help-block">{{ field.help_text }}</span> | |
57 | + {% elif field.auto_id == 'id_image' %} | |
58 | + {% render_field field class='form-control input-sm' %} | |
59 | + <div class="input-group"> | |
60 | + <input type="text" readonly="" class="form-control" placeholder="Choose your photo..."> | |
61 | + <span class="input-group-btn input-group-sm"> | |
62 | + <button type="button" class="btn btn-fab btn-fab-mini"> | |
63 | + <i class="material-icons">image</i> | |
64 | + </button> | |
65 | + </span> | |
102 | 66 | </div> |
103 | - <div class=" col-md-4 col-sm-4 col-xs-4"> | |
104 | - <a href="{% url 'core:home' %}" class=" btn btn-danger btn-raised" >{% trans 'Cancel' %}</a> | |
67 | + {% elif field.auto_id == 'id_curriculum' %} | |
68 | + {% render_field field class='form-control input-sm' %} | |
69 | + <div class="input-group"> | |
70 | + <input type="text" readonly="" class="form-control" placeholder="{% trans 'Choose the file ...' %}"> | |
71 | + <span class="input-group-btn input-group-sm"> | |
72 | + <button type="button" class="btn btn-fab btn-fab-mini"> | |
73 | + <i class="material-icons">attach_file</i> | |
74 | + </button> | |
75 | + </span> | |
105 | 76 | </div> |
77 | + {% elif field.auto_id == 'id_cpf' %} | |
78 | + {% render_field field class='form-control' onkeypress='campoNumerico(this,event); formatarCpf(this,event);' %} | |
79 | + | |
80 | + {% elif field.auto_id == 'id_year_titration' %} | |
81 | + {% render_field field class='form-control' onkeypress='campoNumerico(this,event);' %} | |
106 | 82 | |
107 | - </form> | |
83 | + {% elif field.auto_id == 'id_phone' %} | |
84 | + {% render_field field class='form-control' onkeypress='campoNumerico(this,event); formatarTelefone(this,event);' %} | |
85 | + {% else %} | |
86 | + {% render_field field class='form-control' %} | |
87 | + <span id="helpBlock" class="help-block">{{ field.help_text }}</span> | |
88 | + {% endif %} | |
89 | + </div> | |
90 | + | |
91 | + {% if field.errors %} | |
92 | + <div class="alert alert-danger alert-dismissible col-md-offset-1 col-md-10 col-sm-offset-1 col-sm-10 col-xs-offset-1 col-xs-10" role="alert"> | |
93 | + <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | |
94 | + <span aria-hidden="true">×</span> | |
95 | + </button> | |
96 | + <ul> | |
97 | + {% for error in field.errors %} | |
98 | + <li>{{ error }}</li> | |
99 | + {% endfor %} | |
100 | + </ul> | |
101 | + </div> | |
102 | + {% endif %} | |
103 | + </div> | |
104 | + {% endfor %} | |
105 | + <div class="col-md-offset-2 col-md-6 col-sm-offset-2 col-sm-6 col-xs-6 col-xs-offset-2 col-xs-6"> | |
106 | + <input type="submit" value="{% trans 'Save' %}" class="btn btn-raised btn-primary" /> | |
108 | 107 | </div> |
108 | + <div class=" col-md-4 col-sm-4 col-xs-4"> | |
109 | + <a href="{% url 'core:home' %}" class=" btn btn-danger btn-raised" >{% trans 'Cancel' %}</a> | |
110 | + </div> | |
111 | + | |
112 | + </form> | |
109 | 113 | </div> |
110 | 114 | </div> |
111 | 115 | </div> |
116 | +</div> | |
112 | 117 | |
113 | - <br clear="all" /> | |
118 | +<br clear="all" /> | |
114 | 119 | {% endblock %} | ... | ... |
courses/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | import autoslug.fields |
... | ... | @@ -44,7 +44,7 @@ class Migration(migrations.Migration): |
44 | 44 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
45 | 45 | ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), |
46 | 46 | ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), |
47 | - ('create_date', models.DateField(auto_now_add=True, verbose_name='Creation Date')), | |
47 | + ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), | |
48 | 48 | ], |
49 | 49 | options={ |
50 | 50 | 'verbose_name': 'Category', |
... | ... | @@ -60,7 +60,7 @@ class Migration(migrations.Migration): |
60 | 60 | ('objectivies', models.TextField(blank=True, verbose_name='Objectivies')), |
61 | 61 | ('content', models.TextField(blank=True, verbose_name='Content')), |
62 | 62 | ('max_students', models.PositiveIntegerField(blank=True, verbose_name='Maximum Students')), |
63 | - ('create_date', models.DateField(auto_now_add=True, verbose_name='Creation Date')), | |
63 | + ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), | |
64 | 64 | ('init_register_date', models.DateField(verbose_name='Register Date (Begin)')), |
65 | 65 | ('end_register_date', models.DateField(verbose_name='Register Date (End)')), |
66 | 66 | ('init_date', models.DateField(verbose_name='Begin of Course Date')), |
... | ... | @@ -68,9 +68,9 @@ class Migration(migrations.Migration): |
68 | 68 | ('public', models.BooleanField(default=False, verbose_name='Public')), |
69 | 69 | ], |
70 | 70 | options={ |
71 | - 'ordering': ('create_date', 'name'), | |
72 | 71 | 'verbose_name': 'Course', |
73 | 72 | 'verbose_name_plural': 'Courses', |
73 | + 'ordering': ('create_date', 'name'), | |
74 | 74 | }, |
75 | 75 | ), |
76 | 76 | migrations.CreateModel( |
... | ... | @@ -79,7 +79,7 @@ class Migration(migrations.Migration): |
79 | 79 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
80 | 80 | ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), |
81 | 81 | ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), |
82 | - ('create_date', models.DateField(auto_now_add=True, verbose_name='Creation Date')), | |
82 | + ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), | |
83 | 83 | ], |
84 | 84 | options={ |
85 | 85 | 'verbose_name': 'Category', |
... | ... | @@ -123,11 +123,13 @@ class Migration(migrations.Migration): |
123 | 123 | ('end_date', models.DateField(verbose_name='End of Subject Date')), |
124 | 124 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
125 | 125 | ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), |
126 | + ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subject_category', to='courses.CategorySubject', verbose_name='Category')), | |
127 | + ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course')), | |
126 | 128 | ], |
127 | 129 | options={ |
128 | - 'ordering': ('create_date', 'name'), | |
129 | 130 | 'verbose_name': 'Subject', |
130 | 131 | 'verbose_name_plural': 'Subjects', |
132 | + 'ordering': ('create_date', 'name'), | |
131 | 133 | }, |
132 | 134 | ), |
133 | 135 | migrations.CreateModel( |
... | ... | @@ -137,6 +139,7 @@ class Migration(migrations.Migration): |
137 | 139 | ('name', models.CharField(max_length=100, verbose_name='Name')), |
138 | 140 | ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), |
139 | 141 | ('description', models.TextField(blank=True, verbose_name='Description')), |
142 | + ('subjects', models.ManyToManyField(to='courses.Subject')), | |
140 | 143 | ], |
141 | 144 | options={ |
142 | 145 | 'verbose_name': 'subject category', |
... | ... | @@ -153,11 +156,12 @@ class Migration(migrations.Migration): |
153 | 156 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
154 | 157 | ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), |
155 | 158 | ('visible', models.BooleanField(default=False, verbose_name='Visible')), |
159 | + ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject')), | |
156 | 160 | ], |
157 | 161 | options={ |
158 | - 'ordering': ('create_date', 'name'), | |
159 | 162 | 'verbose_name': 'Topic', |
160 | 163 | 'verbose_name_plural': 'Topics', |
164 | + 'ordering': ('create_date', 'name'), | |
161 | 165 | }, |
162 | 166 | ), |
163 | 167 | ] | ... | ... |
courses/migrations/0002_auto_20161114_0144.py
... | ... | @@ -1,110 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
3 | -from __future__ import unicode_literals | |
4 | - | |
5 | -from django.conf import settings | |
6 | -from django.db import migrations, models | |
7 | -import django.db.models.deletion | |
8 | - | |
9 | - | |
10 | -class Migration(migrations.Migration): | |
11 | - | |
12 | - initial = True | |
13 | - | |
14 | - dependencies = [ | |
15 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
16 | - ('courses', '0001_initial'), | |
17 | - ] | |
18 | - | |
19 | - operations = [ | |
20 | - migrations.AddField( | |
21 | - model_name='topic', | |
22 | - name='owner', | |
23 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Owner'), | |
24 | - ), | |
25 | - migrations.AddField( | |
26 | - model_name='topic', | |
27 | - name='subject', | |
28 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject'), | |
29 | - ), | |
30 | - migrations.AddField( | |
31 | - model_name='subjectcategory', | |
32 | - name='subjects', | |
33 | - field=models.ManyToManyField(to='courses.Subject'), | |
34 | - ), | |
35 | - migrations.AddField( | |
36 | - model_name='subject', | |
37 | - name='category', | |
38 | - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subject_category', to='courses.CategorySubject', verbose_name='Category'), | |
39 | - ), | |
40 | - migrations.AddField( | |
41 | - model_name='subject', | |
42 | - name='course', | |
43 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course'), | |
44 | - ), | |
45 | - migrations.AddField( | |
46 | - model_name='subject', | |
47 | - name='professors', | |
48 | - field=models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
49 | - ), | |
50 | - migrations.AddField( | |
51 | - model_name='subject', | |
52 | - name='students', | |
53 | - field=models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
54 | - ), | |
55 | - migrations.AddField( | |
56 | - model_name='material', | |
57 | - name='students', | |
58 | - field=models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
59 | - ), | |
60 | - migrations.AddField( | |
61 | - model_name='material', | |
62 | - name='topic', | |
63 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'), | |
64 | - ), | |
65 | - migrations.AddField( | |
66 | - model_name='linkmaterial', | |
67 | - name='material', | |
68 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'), | |
69 | - ), | |
70 | - migrations.AddField( | |
71 | - model_name='filematerial', | |
72 | - name='material', | |
73 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'), | |
74 | - ), | |
75 | - migrations.AddField( | |
76 | - model_name='course', | |
77 | - name='category', | |
78 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'), | |
79 | - ), | |
80 | - migrations.AddField( | |
81 | - model_name='course', | |
82 | - name='coordenator', | |
83 | - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'), | |
84 | - ), | |
85 | - migrations.AddField( | |
86 | - model_name='course', | |
87 | - name='professors', | |
88 | - field=models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
89 | - ), | |
90 | - migrations.AddField( | |
91 | - model_name='course', | |
92 | - name='students', | |
93 | - field=models.ManyToManyField(blank=True, related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
94 | - ), | |
95 | - migrations.AddField( | |
96 | - model_name='activityfile', | |
97 | - name='diet', | |
98 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='courses.Activity'), | |
99 | - ), | |
100 | - migrations.AddField( | |
101 | - model_name='activity', | |
102 | - name='students', | |
103 | - field=models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
104 | - ), | |
105 | - migrations.AddField( | |
106 | - model_name='activity', | |
107 | - name='topic', | |
108 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'), | |
109 | - ), | |
110 | - ] |
... | ... | @@ -0,0 +1,85 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.conf import settings | |
6 | +from django.db import migrations, models | |
7 | +import django.db.models.deletion | |
8 | + | |
9 | + | |
10 | +class Migration(migrations.Migration): | |
11 | + | |
12 | + initial = True | |
13 | + | |
14 | + dependencies = [ | |
15 | + ('courses', '0001_initial'), | |
16 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
17 | + ] | |
18 | + | |
19 | + operations = [ | |
20 | + migrations.AddField( | |
21 | + model_name='subject', | |
22 | + name='professors', | |
23 | + field=models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
24 | + ), | |
25 | + migrations.AddField( | |
26 | + model_name='subject', | |
27 | + name='students', | |
28 | + field=models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
29 | + ), | |
30 | + migrations.AddField( | |
31 | + model_name='material', | |
32 | + name='students', | |
33 | + field=models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
34 | + ), | |
35 | + migrations.AddField( | |
36 | + model_name='material', | |
37 | + name='topic', | |
38 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'), | |
39 | + ), | |
40 | + migrations.AddField( | |
41 | + model_name='linkmaterial', | |
42 | + name='material', | |
43 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'), | |
44 | + ), | |
45 | + migrations.AddField( | |
46 | + model_name='filematerial', | |
47 | + name='material', | |
48 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'), | |
49 | + ), | |
50 | + migrations.AddField( | |
51 | + model_name='course', | |
52 | + name='category', | |
53 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'), | |
54 | + ), | |
55 | + migrations.AddField( | |
56 | + model_name='course', | |
57 | + name='coordenator', | |
58 | + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'), | |
59 | + ), | |
60 | + migrations.AddField( | |
61 | + model_name='course', | |
62 | + name='professors', | |
63 | + field=models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
64 | + ), | |
65 | + migrations.AddField( | |
66 | + model_name='course', | |
67 | + name='students', | |
68 | + field=models.ManyToManyField(blank=True, related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
69 | + ), | |
70 | + migrations.AddField( | |
71 | + model_name='activityfile', | |
72 | + name='diet', | |
73 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='courses.Activity'), | |
74 | + ), | |
75 | + migrations.AddField( | |
76 | + model_name='activity', | |
77 | + name='students', | |
78 | + field=models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
79 | + ), | |
80 | + migrations.AddField( | |
81 | + model_name='activity', | |
82 | + name='topic', | |
83 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'), | |
84 | + ), | |
85 | + ] | ... | ... |
courses/models.py
... | ... | @@ -13,7 +13,7 @@ class CourseCategory(models.Model): |
13 | 13 | |
14 | 14 | name = models.CharField(_('Name'), max_length = 100, unique = True) |
15 | 15 | slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) |
16 | - create_date = models.DateField(_('Creation Date'), auto_now_add = True) | |
16 | + create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) | |
17 | 17 | |
18 | 18 | class Meta: |
19 | 19 | verbose_name = _('Category') |
... | ... | @@ -25,7 +25,7 @@ class CourseCategory(models.Model): |
25 | 25 | class CategorySubject(models.Model): |
26 | 26 | name = models.CharField(_('Name'), max_length=100, unique=True) |
27 | 27 | slug = AutoSlugField(_("Slug"), populate_from='name', unique=True) |
28 | - create_date = models.DateField(_('Creation Date'), auto_now_add=True) | |
28 | + create_date = models.DateTimeField(_('Creation Date'), auto_now_add=True) | |
29 | 29 | |
30 | 30 | class Meta: |
31 | 31 | verbose_name = _('Category') |
... | ... | @@ -41,7 +41,7 @@ class Course(models.Model): |
41 | 41 | objectivies = models.TextField(_('Objectivies'), blank = True) |
42 | 42 | content = models.TextField(_('Content'), blank = True) |
43 | 43 | max_students = models.PositiveIntegerField(_('Maximum Students'), blank = True) |
44 | - create_date = models.DateField(_('Creation Date'), auto_now_add = True) | |
44 | + create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) | |
45 | 45 | init_register_date = models.DateField(_('Register Date (Begin)')) |
46 | 46 | end_register_date = models.DateField(_('Register Date (End)')) |
47 | 47 | init_date = models.DateField(_('Begin of Course Date')) |
... | ... | @@ -106,7 +106,6 @@ class Topic(models.Model): |
106 | 106 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) |
107 | 107 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) |
108 | 108 | subject = models.ForeignKey(Subject, verbose_name = _('Subject')) |
109 | - owner = models.ForeignKey(User, verbose_name = _('Owner')) | |
110 | 109 | visible = models.BooleanField(_('Visible'), default=False) |
111 | 110 | |
112 | 111 | class Meta: | ... | ... |
courses/views.py
... | ... | @@ -429,7 +429,7 @@ class FilteredView(LoginRequiredMixin, generic.ListView): |
429 | 429 | redirect_field_name = 'next' |
430 | 430 | template_name = 'course/filtered.html' |
431 | 431 | context_object_name = 'courses' |
432 | - paginate_by = 3 | |
432 | + paginate_by = 10 | |
433 | 433 | |
434 | 434 | def get_queryset(self): |
435 | 435 | category = get_object_or_404(CourseCategory, slug = self.kwargs.get('slug')) |
... | ... | @@ -447,11 +447,11 @@ class IndexCatView(LoginRequiredMixin, generic.ListView): |
447 | 447 | |
448 | 448 | login_url = reverse_lazy("core:home") |
449 | 449 | redirect_field_name = 'next' |
450 | - queryset = sorted(CourseCategory.objects.all(),key = lambda x:x.name) | |
450 | + queryset = CourseCategory.objects.all().order_by("name") | |
451 | 451 | template_name = 'category/index.html' |
452 | 452 | context_object_name = 'categories' |
453 | - paginate_by = 5 | |
454 | - | |
453 | + paginate_by = 10 | |
454 | + | |
455 | 455 | class CreateCatView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): |
456 | 456 | |
457 | 457 | allowed_roles = ['professor', 'system_admin'] |
... | ... | @@ -589,7 +589,7 @@ class ReplicateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notificat |
589 | 589 | |
590 | 590 | def form_valid(self, form): |
591 | 591 | self.object = form.save() |
592 | - | |
592 | + | |
593 | 593 | return super(ReplicateSubjectView, self).form_valid(form) |
594 | 594 | |
595 | 595 | def get_success_url(self): |
... | ... | @@ -1065,4 +1065,4 @@ class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati |
1065 | 1065 | |
1066 | 1066 | super(ReplicateTopicView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
1067 | 1067 | |
1068 | - return super(ReplicateTopicView, self).form_valid(form) | |
1069 | 1068 | \ No newline at end of file |
1069 | + return super(ReplicateTopicView, self).form_valid(form) | ... | ... |
exam/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | from django.db import migrations, models |
... | ... | @@ -23,9 +23,9 @@ class Migration(migrations.Migration): |
23 | 23 | ('order', models.PositiveSmallIntegerField(verbose_name='Order')), |
24 | 24 | ], |
25 | 25 | options={ |
26 | - 'ordering': ('order',), | |
27 | 26 | 'verbose_name': 'Answer', |
28 | 27 | 'verbose_name_plural': 'Answers', |
28 | + 'ordering': ('order',), | |
29 | 29 | }, |
30 | 30 | ), |
31 | 31 | migrations.CreateModel( | ... | ... |
exam/migrations/0002_auto_20161114_0144.py
... | ... | @@ -1,30 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
3 | -from __future__ import unicode_literals | |
4 | - | |
5 | -from django.conf import settings | |
6 | -from django.db import migrations, models | |
7 | -import django.db.models.deletion | |
8 | - | |
9 | - | |
10 | -class Migration(migrations.Migration): | |
11 | - | |
12 | - initial = True | |
13 | - | |
14 | - dependencies = [ | |
15 | - ('exam', '0001_initial'), | |
16 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
17 | - ] | |
18 | - | |
19 | - operations = [ | |
20 | - migrations.AddField( | |
21 | - model_name='answersstudent', | |
22 | - name='student', | |
23 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student', to=settings.AUTH_USER_MODEL, verbose_name='Student'), | |
24 | - ), | |
25 | - migrations.AddField( | |
26 | - model_name='answer', | |
27 | - name='exam', | |
28 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='exam.Exam', verbose_name='Answers'), | |
29 | - ), | |
30 | - ] |
... | ... | @@ -0,0 +1,30 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.conf import settings | |
6 | +from django.db import migrations, models | |
7 | +import django.db.models.deletion | |
8 | + | |
9 | + | |
10 | +class Migration(migrations.Migration): | |
11 | + | |
12 | + initial = True | |
13 | + | |
14 | + dependencies = [ | |
15 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
16 | + ('exam', '0001_initial'), | |
17 | + ] | |
18 | + | |
19 | + operations = [ | |
20 | + migrations.AddField( | |
21 | + model_name='answersstudent', | |
22 | + name='student', | |
23 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student', to=settings.AUTH_USER_MODEL, verbose_name='Student'), | |
24 | + ), | |
25 | + migrations.AddField( | |
26 | + model_name='answer', | |
27 | + name='exam', | |
28 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='exam.Exam', verbose_name='Answers'), | |
29 | + ), | |
30 | + ] | ... | ... |
exercise/migrations/0001_initial.py
files/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | from django.db import migrations, models |
... | ... | @@ -26,9 +26,9 @@ class Migration(migrations.Migration): |
26 | 26 | ('file_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='topic_files', to='core.MimeType', verbose_name='Type file')), |
27 | 27 | ], |
28 | 28 | options={ |
29 | - 'ordering': ('-id',), | |
30 | 29 | 'verbose_name': 'File', |
31 | 30 | 'verbose_name_plural': 'Files', |
31 | + 'ordering': ('-id',), | |
32 | 32 | }, |
33 | 33 | bases=('courses.material',), |
34 | 34 | ), | ... | ... |
files/migrations/0002_topicfile_professor.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | from django.conf import settings |
... | ... | @@ -11,8 +11,8 @@ class Migration(migrations.Migration): |
11 | 11 | initial = True |
12 | 12 | |
13 | 13 | dependencies = [ |
14 | - ('files', '0001_initial'), | |
15 | 14 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
15 | + ('files', '0001_initial'), | |
16 | 16 | ] |
17 | 17 | |
18 | 18 | operations = [ | ... | ... |
forum/migrations/0001_initial.py
forum/migrations/0002_auto_20161114_0144.py
... | ... | @@ -1,35 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
3 | -from __future__ import unicode_literals | |
4 | - | |
5 | -from django.conf import settings | |
6 | -from django.db import migrations, models | |
7 | -import django.db.models.deletion | |
8 | - | |
9 | - | |
10 | -class Migration(migrations.Migration): | |
11 | - | |
12 | - initial = True | |
13 | - | |
14 | - dependencies = [ | |
15 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
16 | - ('forum', '0001_initial'), | |
17 | - ] | |
18 | - | |
19 | - operations = [ | |
20 | - migrations.AddField( | |
21 | - model_name='postanswer', | |
22 | - name='user', | |
23 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'), | |
24 | - ), | |
25 | - migrations.AddField( | |
26 | - model_name='post', | |
27 | - name='forum', | |
28 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Forum', verbose_name='Forum'), | |
29 | - ), | |
30 | - migrations.AddField( | |
31 | - model_name='post', | |
32 | - name='user', | |
33 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'), | |
34 | - ), | |
35 | - ] |
... | ... | @@ -0,0 +1,35 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.conf import settings | |
6 | +from django.db import migrations, models | |
7 | +import django.db.models.deletion | |
8 | + | |
9 | + | |
10 | +class Migration(migrations.Migration): | |
11 | + | |
12 | + initial = True | |
13 | + | |
14 | + dependencies = [ | |
15 | + ('forum', '0001_initial'), | |
16 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
17 | + ] | |
18 | + | |
19 | + operations = [ | |
20 | + migrations.AddField( | |
21 | + model_name='postanswer', | |
22 | + name='user', | |
23 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'), | |
24 | + ), | |
25 | + migrations.AddField( | |
26 | + model_name='post', | |
27 | + name='forum', | |
28 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Forum', verbose_name='Forum'), | |
29 | + ), | |
30 | + migrations.AddField( | |
31 | + model_name='post', | |
32 | + name='user', | |
33 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'), | |
34 | + ), | |
35 | + ] | ... | ... |
links/migrations/0001_initial.py
poll/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | from django.db import migrations, models |
... | ... | @@ -23,9 +23,9 @@ class Migration(migrations.Migration): |
23 | 23 | ('order', models.PositiveSmallIntegerField(verbose_name='Order')), |
24 | 24 | ], |
25 | 25 | options={ |
26 | - 'ordering': ('order',), | |
27 | 26 | 'verbose_name': 'Answer', |
28 | 27 | 'verbose_name_plural': 'Answers', |
28 | + 'ordering': ('order',), | |
29 | 29 | }, |
30 | 30 | ), |
31 | 31 | migrations.CreateModel( | ... | ... |
poll/migrations/0002_auto_20161114_0144.py
... | ... | @@ -1,30 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
3 | -from __future__ import unicode_literals | |
4 | - | |
5 | -from django.conf import settings | |
6 | -from django.db import migrations, models | |
7 | -import django.db.models.deletion | |
8 | - | |
9 | - | |
10 | -class Migration(migrations.Migration): | |
11 | - | |
12 | - initial = True | |
13 | - | |
14 | - dependencies = [ | |
15 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
16 | - ('poll', '0001_initial'), | |
17 | - ] | |
18 | - | |
19 | - operations = [ | |
20 | - migrations.AddField( | |
21 | - model_name='answersstudent', | |
22 | - name='student', | |
23 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers_stundent', to=settings.AUTH_USER_MODEL, verbose_name='Student'), | |
24 | - ), | |
25 | - migrations.AddField( | |
26 | - model_name='answer', | |
27 | - name='poll', | |
28 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='poll.Poll', verbose_name='Answers'), | |
29 | - ), | |
30 | - ] |
... | ... | @@ -0,0 +1,30 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.conf import settings | |
6 | +from django.db import migrations, models | |
7 | +import django.db.models.deletion | |
8 | + | |
9 | + | |
10 | +class Migration(migrations.Migration): | |
11 | + | |
12 | + initial = True | |
13 | + | |
14 | + dependencies = [ | |
15 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
16 | + ('poll', '0001_initial'), | |
17 | + ] | |
18 | + | |
19 | + operations = [ | |
20 | + migrations.AddField( | |
21 | + model_name='answersstudent', | |
22 | + name='student', | |
23 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers_stundent', to=settings.AUTH_USER_MODEL, verbose_name='Student'), | |
24 | + ), | |
25 | + migrations.AddField( | |
26 | + model_name='answer', | |
27 | + name='poll', | |
28 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='poll.Poll', verbose_name='Answers'), | |
29 | + ), | |
30 | + ] | ... | ... |
users/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-14 04:44 | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:36 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | import django.contrib.auth.models |
... | ... | @@ -26,14 +26,14 @@ class Migration(migrations.Migration): |
26 | 26 | ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), |
27 | 27 | ('username', models.CharField(help_text='A short name that will be used to identify you in the platform and to access it', max_length=35, unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[\\w.@+-]+$', 32), 'Type a valid username. This fields should only contain letters, numbers and the characteres: @/./+/-/_ .', 'invalid')], verbose_name='Login')), |
28 | 28 | ('email', models.EmailField(max_length=254, unique=True, verbose_name='Mail')), |
29 | - ('name', models.CharField(blank=True, max_length=100, verbose_name='Name')), | |
29 | + ('name', models.CharField(max_length=100, verbose_name='Name')), | |
30 | 30 | ('city', models.CharField(blank=True, max_length=90, verbose_name='City')), |
31 | 31 | ('state', models.CharField(blank=True, max_length=30, verbose_name='State')), |
32 | 32 | ('gender', models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1, verbose_name='Gender')), |
33 | - ('image', models.ImageField(blank=True, upload_to='users/', verbose_name='Image')), | |
34 | - ('birth_date', models.DateField(null=True, verbose_name='Birth Date')), | |
33 | + ('image', models.ImageField(blank=True, null=True, upload_to='users/', verbose_name='Image')), | |
34 | + ('birth_date', models.DateField(verbose_name='Birth Date')), | |
35 | 35 | ('phone', models.CharField(blank=True, max_length=30, verbose_name='Phone')), |
36 | - ('cpf', models.CharField(blank=True, max_length=15, verbose_name='Cpf')), | |
36 | + ('cpf', models.CharField(max_length=15, verbose_name='Cpf')), | |
37 | 37 | ('type_profile', models.IntegerField(blank=True, choices=[(1, 'Professor'), (2, 'Student')], default=2, null=True, verbose_name='Type')), |
38 | 38 | ('titration', models.CharField(blank=True, max_length=50, null=True, verbose_name='Titration')), |
39 | 39 | ('year_titration', models.CharField(blank=True, max_length=4, null=True, verbose_name='Year of titration')), | ... | ... |
... | ... | @@ -0,0 +1,20 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-11-15 22:41 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.db import migrations, models | |
6 | + | |
7 | + | |
8 | +class Migration(migrations.Migration): | |
9 | + | |
10 | + dependencies = [ | |
11 | + ('users', '0001_initial'), | |
12 | + ] | |
13 | + | |
14 | + operations = [ | |
15 | + migrations.AlterField( | |
16 | + model_name='user', | |
17 | + name='birth_date', | |
18 | + field=models.DateField(null=True, verbose_name='Birth Date'), | |
19 | + ), | |
20 | + ] | ... | ... |
users/models.py
... | ... | @@ -16,14 +16,14 @@ class User(AbstractBaseUser, PermissionsMixin): |
16 | 16 | ) |
17 | 17 | ], help_text = _('A short name that will be used to identify you in the platform and to access it')) |
18 | 18 | email = models.EmailField(_('Mail'), unique = True) |
19 | - name = models.CharField(_('Name'), max_length = 100, blank = True) | |
19 | + name = models.CharField(_('Name'), max_length = 100) | |
20 | 20 | city = models.CharField(_('City'), max_length = 90, blank = True) |
21 | 21 | state = models.CharField(_('State'), max_length = 30, blank = True) |
22 | 22 | gender = models.CharField(_('Gender'), max_length = 1, choices = (('M', _('Male')), ('F', _('Female')))) |
23 | - image = models.ImageField(verbose_name = _('Image'), blank = True, upload_to = 'users/') | |
23 | + image = models.ImageField(verbose_name = _('Image'), null=True, blank = True, upload_to = 'users/') | |
24 | 24 | birth_date = models.DateField(_('Birth Date'), null=True) |
25 | 25 | phone = models.CharField(_('Phone'), max_length = 30, blank = True) |
26 | - cpf = models.CharField(_('Cpf'), max_length = 15, blank = True) | |
26 | + cpf = models.CharField(_('Cpf'), max_length = 15) | |
27 | 27 | type_profile = models.IntegerField(_('Type'), null = True, blank = True, choices = ((1, _('Professor')), (2, _('Student'))), default=2) |
28 | 28 | titration = models.CharField(_('Titration'), max_length = 50, blank = True, null = True) |
29 | 29 | year_titration = models.CharField(_('Year of titration'), max_length = 4, blank = True, null = True) |
... | ... | @@ -56,4 +56,4 @@ class User(AbstractBaseUser, PermissionsMixin): |
56 | 56 | if self.image and hasattr(self.image, 'url'): |
57 | 57 | return self.image.url |
58 | 58 | else: |
59 | - return static('img/no_image.jpg') | |
60 | 59 | \ No newline at end of file |
60 | + return static('img/no_image.jpg') | ... | ... |