Commit c9f59a8c9d0f0383733a97cd6255759ea5932932

Authored by Ailson da Cruz
2 parents d7d4e2db 8fe1bf6c

Test edit user #7

.gitignore
... ... @@ -48,3 +48,4 @@ coverage.xml
48 48 *.pot
49 49  
50 50 angular_api
  51 +logs/
... ...
core/migrations/0001_initial.py 0 → 100644
... ... @@ -0,0 +1,73 @@
  1 +# -*- coding: utf-8 -*-
  2 +# Generated by Django 1.10 on 2016-09-06 17:50
  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 + ]
  17 +
  18 + operations = [
  19 + migrations.CreateModel(
  20 + name='Action',
  21 + fields=[
  22 + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  23 + ('name', models.CharField(max_length=100, verbose_name='Name')),
  24 + ('created_date', models.DateField(auto_now_add=True, verbose_name='Created Date')),
  25 + ],
  26 + options={
  27 + 'verbose_name': 'Action',
  28 + 'verbose_name_plural': 'Actions',
  29 + },
  30 + ),
  31 + migrations.CreateModel(
  32 + name='Action_Resource',
  33 + fields=[
  34 + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  35 + ('action', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied')),
  36 + ],
  37 + options={
  38 + 'verbose_name': 'Action_Resource',
  39 + 'verbose_name_plural': 'Action_Resources',
  40 + },
  41 + ),
  42 + migrations.CreateModel(
  43 + name='Notification',
  44 + fields=[
  45 + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  46 + ('message', models.TextField(verbose_name='message')),
  47 + ('read', models.BooleanField(default=False, verbose_name='Read')),
  48 + ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')),
  49 + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor')),
  50 + ],
  51 + options={
  52 + 'verbose_name': 'Action_Resource',
  53 + 'verbose_name_plural': 'Action_Resources',
  54 + },
  55 + ),
  56 + migrations.CreateModel(
  57 + name='Resource',
  58 + fields=[
  59 + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  60 + ('name', models.CharField(max_length=100, verbose_name='Name')),
  61 + ('created_date', models.DateField(auto_now_add=True, verbose_name='Created Date')),
  62 + ],
  63 + options={
  64 + 'verbose_name': 'Resource',
  65 + 'verbose_name_plural': 'Resources',
  66 + },
  67 + ),
  68 + migrations.AddField(
  69 + model_name='action_resource',
  70 + name='resource',
  71 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'),
  72 + ),
  73 + ]
... ...
core/models.py
1 1 from django.db import models
2   -
  2 +from django.utils.translation import ugettext_lazy as _
  3 +from users.models import User
3 4 # Create your models here.
  5 +
  6 +
  7 +
  8 +
  9 +class Action(models.Model):
  10 + """
  11 + It represents an Action on the program by a User such as "create post",
  12 + "visualize post", etc. It is supposed to be created everytime we want an aciton
  13 + """
  14 +
  15 + name = models.CharField(_('Name'), max_length = 100)
  16 + created_date = models.DateField(_('Created Date'), auto_now_add=True)
  17 +
  18 +
  19 + def __init__(self, name):
  20 + self.name = name
  21 +
  22 + class Meta:
  23 + verbose_name = "Action"
  24 + verbose_name_plural = "Actions"
  25 +
  26 + def __str__(self):
  27 + pass
  28 +
  29 +
  30 +class Resource(models.Model):
  31 + """
  32 + It represents the resource where the action was applied on.
  33 + Example: Pool was answered (Resource: Pool), PDF was visualized(Resource: PDF).
  34 + """
  35 +
  36 + name = models.CharField(_('Name'), max_length =100)
  37 + created_date = models.DateField(_('Created Date'), auto_now_add=True)
  38 + class Meta:
  39 + verbose_name = "Resource"
  40 + verbose_name_plural = "Resources"
  41 +
  42 + def __str__(self):
  43 + pass
  44 +
  45 +
  46 +class Action_Resource(models.Model):
  47 +
  48 + action = models.ForeignKey(Action , verbose_name= _('Action_Applied'))
  49 + resource = models.ForeignKey(Resource, verbose_name = _('Resource'))
  50 +
  51 + class Meta:
  52 + verbose_name = "Action_Resource"
  53 + verbose_name_plural = "Action_Resources"
  54 +
  55 + def __str__(self):
  56 + pass
  57 +
  58 +
  59 +class Notification(models.Model):
  60 + message = models.TextField(_('message'))
  61 + user = models.ForeignKey(User, verbose_name= _('Actor'))
  62 + read = models.BooleanField(_('Read'), default=False)
  63 + action_resource = models.ForeignKey(Action_Resource, verbose_name = _('Action_Resource'))
  64 +
  65 + class Meta:
  66 + verbose_name = "Action_Resource"
  67 + verbose_name_plural = "Action_Resources"
  68 +
  69 + def __str__(self):
  70 + pass
... ...
core/urls.py
... ... @@ -5,7 +5,7 @@ from . import views
5 5  
6 6  
7 7 urlpatterns = [
8   - url(r'^login/$', views.login, name='home'),
  8 + url(r'^$', views.login, name='home'),
9 9 url(r'^register/$', views.RegisterUser.as_view(), name='register'),
10 10 url(r'^remember_password/$', views.remember_password, name='remember_password'),
11 11 url(r'^logout/$', auth_views.logout, {'next_page': 'core:home'}, name='logout'),
... ...
courses/urls.py
... ... @@ -3,19 +3,19 @@ from django.conf.urls import url
3 3 from . import views
4 4  
5 5 urlpatterns = [
6   - url(r'^cursos/$', views.IndexView.as_view(), name='manage'),
7   - url(r'^cursos/criar/$', views.CreateView.as_view(), name='create'),
8   - url(r'^cursos/editar/(?P<slug>[\w_-]+)/$', views.UpdateView.as_view(), name='update'),
9   - url(r'^cursos/(?P<slug>[\w_-]+)/$', views.View.as_view(), name='view'),
10   - url(r'^cursos/deletar/(?P<slug>[\w_-]+)/$', views.DeleteView.as_view(), name='delete'),
11   - url(r'^cursos/categoria/(?P<slug>[\w_-]+)/$', views.FilteredView.as_view(), name='filter'),
12   - url(r'^categorias/$', views.IndexCatView.as_view(), name='manage_cat'),
13   - url(r'^categorias/criar/$', views.CreateCatView.as_view(), name="create_cat"),
14   - url(r'^categorias/editar/(?P<slug>[\w_-]+)/$', views.UpdateCatView.as_view(), name='update_cat'),
15   - url(r'^categorias/(?P<slug>[\w_-]+)/$', views.ViewCat.as_view(), name='view_cat'),
16   - url(r'^categorias/deletar/(?P<slug>[\w_-]+)/$', views.DeleteCatView.as_view(), name='delete_cat'),
17   - url(r'^curso/(?P<slug>[\w_-]+)/modulos/$', views.ModulesView.as_view(), name='manage_mods'),
18   - url(r'^curso/(?P<slug>[\w_-]+)/modulos/cirar/$', views.CreateModView.as_view(), name='create_mods'),
19   - url(r'^curso/(?P<slug_course>[\w_-]+)/modulos/editar/(?P<slug>[\w_-]+)/$', views.UpdateModView.as_view(), name='update_mods'),
20   - url(r'^curso/(?P<slug_course>[\w_-]+)/modulos/deletar/(?P<slug>[\w_-]+)/$', views.DeleteModView.as_view(), name='delete_mods'),
21   -]
22 6 \ No newline at end of file
  7 + url(r'^course/$', views.IndexView.as_view(), name='manage'),
  8 + url(r'^course/create/$', views.CreateView.as_view(), name='create'),
  9 + url(r'^course/edit/(?P<slug>[\w_-]+)/$', views.UpdateView.as_view(), name='update'),
  10 + url(r'^course/(?P<slug>[\w_-]+)/$', views.View.as_view(), name='view'),
  11 + url(r'^course/delete/(?P<slug>[\w_-]+)/$', views.DeleteView.as_view(), name='delete'),
  12 + url(r'^course/category/(?P<slug>[\w_-]+)/$', views.FilteredView.as_view(), name='filter'),
  13 + url(r'^categories/$', views.IndexCatView.as_view(), name='manage_cat'),
  14 + url(r'^categories/create/$', views.CreateCatView.as_view(), name="create_cat"),
  15 + url(r'^categories/edit/(?P<slug>[\w_-]+)/$', views.UpdateCatView.as_view(), name='update_cat'),
  16 + url(r'^categories/(?P<slug>[\w_-]+)/$', views.ViewCat.as_view(), name='view_cat'),
  17 + url(r'^categories/delete/(?P<slug>[\w_-]+)/$', views.DeleteCatView.as_view(), name='delete_cat'),
  18 + url(r'^course/(?P<slug>[\w_-]+)/modules/$', views.ModulesView.as_view(), name='manage_mods'),
  19 + url(r'^course/(?P<slug>[\w_-]+)/modules/create/$', views.CreateModView.as_view(), name='create_mods'),
  20 + url(r'^course/(?P<slug_course>[\w_-]+)/modules/edit/(?P<slug>[\w_-]+)/$', views.UpdateModView.as_view(), name='update_mods'),
  21 + url(r'^course/(?P<slug_course>[\w_-]+)/modules/delete/(?P<slug>[\w_-]+)/$', views.DeleteModView.as_view(), name='delete_mods'),
  22 +]
... ...
users/migrations/0009_auto_20160906_1450.py 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +# -*- coding: utf-8 -*-
  2 +# Generated by Django 1.10 on 2016-09-06 17:50
  3 +from __future__ import unicode_literals
  4 +
  5 +import django.core.validators
  6 +from django.db import migrations, models
  7 +import re
  8 +
  9 +
  10 +class Migration(migrations.Migration):
  11 +
  12 + dependencies = [
  13 + ('users', '0008_auto_20160902_2123'),
  14 + ]
  15 +
  16 + operations = [
  17 + migrations.AlterField(
  18 + model_name='user',
  19 + name='username',
  20 + field=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(b'^[\\w.@+-]+$'), 'Type a valid username. This fields should only contain letters, numbers and the characteres: @/./+/-/_ .', b'invalid')], verbose_name='Login'),
  21 + ),
  22 + ]
... ...