diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py
index 8f7e2c6..f9e6c58 100644
--- a/core/migrations/0001_initial.py
+++ b/core/migrations/0001_initial.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-10-01 16:02
+# Generated by Django 1.10 on 2016-10-02 00:17
from __future__ import unicode_literals
import autoslug.fields
-from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
@@ -13,7 +12,6 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
- migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
@@ -33,7 +31,6 @@ class Migration(migrations.Migration):
name='Action_Resource',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('action', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied')),
],
options={
'verbose_name': 'Action_Resource',
@@ -45,8 +42,6 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')),
- ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')),
- ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor')),
],
options={
'verbose_name': 'Log',
@@ -61,8 +56,6 @@ class Migration(migrations.Migration):
('read', models.BooleanField(default=False, verbose_name='Read')),
('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')),
('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')),
- ('actor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Perfomer')),
- ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User')),
],
options={
'verbose_name': 'Notification',
@@ -83,9 +76,4 @@ class Migration(migrations.Migration):
'verbose_name_plural': 'Resources',
},
),
- migrations.AddField(
- model_name='action_resource',
- name='resource',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'),
- ),
]
diff --git a/core/migrations/0002_auto_20161001_2117.py b/core/migrations/0002_auto_20161001_2117.py
new file mode 100644
index 0000000..c370bcb
--- /dev/null
+++ b/core/migrations/0002_auto_20161001_2117.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10 on 2016-10-02 00:17
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('core', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='notification',
+ name='actor',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Perfomer'),
+ ),
+ migrations.AddField(
+ model_name='notification',
+ name='user',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User'),
+ ),
+ migrations.AddField(
+ model_name='log',
+ name='action_resource',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource'),
+ ),
+ migrations.AddField(
+ model_name='log',
+ name='user',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor'),
+ ),
+ migrations.AddField(
+ model_name='action_resource',
+ name='action',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied'),
+ ),
+ migrations.AddField(
+ model_name='action_resource',
+ name='resource',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'),
+ ),
+ ]
diff --git a/courses/migrations/0001_initial.py b/courses/migrations/0001_initial.py
index dd64828..f103f81 100644
--- a/courses/migrations/0001_initial.py
+++ b/courses/migrations/0001_initial.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-10-01 16:02
+# Generated by Django 1.10 on 2016-10-02 00:17
from __future__ import unicode_literals
import autoslug.fields
-from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
@@ -13,7 +12,6 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
- migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('core', '0001_initial'),
]
@@ -24,7 +22,6 @@ class Migration(migrations.Migration):
('resource_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.Resource')),
('limit_date', models.DateTimeField(verbose_name='Deliver Date')),
('all_students', models.BooleanField(default=False, verbose_name='All Students')),
- ('students', models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students')),
],
bases=('core.resource',),
),
@@ -56,9 +53,6 @@ class Migration(migrations.Migration):
('init_date', models.DateField(verbose_name='Begin of Course Date')),
('end_date', models.DateField(verbose_name='End of Course Date')),
('image', models.ImageField(blank=True, upload_to='courses/', verbose_name='Image')),
- ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Category', verbose_name='Category')),
- ('professors', models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors')),
- ('students', models.ManyToManyField(related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students')),
],
options={
'ordering': ('create_date', 'name'),
@@ -71,7 +65,6 @@ class Migration(migrations.Migration):
fields=[
('resource_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.Resource')),
('all_students', models.BooleanField(default=False, verbose_name='All Students')),
- ('students', models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students')),
],
bases=('core.resource',),
),
@@ -87,8 +80,6 @@ class Migration(migrations.Migration):
('end_date', models.DateField(verbose_name='End of Subject Date')),
('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')),
('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')),
- ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course')),
- ('professors', models.ManyToManyField(related_name='subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors')),
],
options={
'ordering': ('create_date', 'name'),
@@ -103,7 +94,6 @@ class Migration(migrations.Migration):
('name', models.CharField(max_length=100, verbose_name='Name')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')),
('description', models.TextField(blank=True, verbose_name='Description')),
- ('subjects', models.ManyToManyField(to='courses.Subject')),
],
options={
'verbose_name': 'subject category',
@@ -120,8 +110,6 @@ class Migration(migrations.Migration):
('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')),
('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')),
('visible', models.BooleanField(default=False, verbose_name='Visible')),
- ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Owner')),
- ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject')),
],
options={
'ordering': ('create_date', 'name'),
@@ -129,14 +117,4 @@ class Migration(migrations.Migration):
'verbose_name_plural': 'Topics',
},
),
- migrations.AddField(
- model_name='material',
- name='topic',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'),
- ),
- migrations.AddField(
- model_name='activity',
- name='topic',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'),
- ),
]
diff --git a/courses/migrations/0002_auto_20161001_2117.py b/courses/migrations/0002_auto_20161001_2117.py
new file mode 100644
index 0000000..40f3582
--- /dev/null
+++ b/courses/migrations/0002_auto_20161001_2117.py
@@ -0,0 +1,80 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10 on 2016-10-02 00:17
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ('courses', '0001_initial'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='topic',
+ name='owner',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Owner'),
+ ),
+ migrations.AddField(
+ model_name='topic',
+ name='subject',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject'),
+ ),
+ migrations.AddField(
+ model_name='subjectcategory',
+ name='subjects',
+ field=models.ManyToManyField(to='courses.Subject'),
+ ),
+ migrations.AddField(
+ model_name='subject',
+ name='course',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course'),
+ ),
+ migrations.AddField(
+ model_name='subject',
+ name='professors',
+ field=models.ManyToManyField(related_name='subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors'),
+ ),
+ migrations.AddField(
+ model_name='material',
+ name='students',
+ field=models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students'),
+ ),
+ migrations.AddField(
+ model_name='material',
+ name='topic',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'),
+ ),
+ migrations.AddField(
+ model_name='course',
+ name='category',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Category', verbose_name='Category'),
+ ),
+ migrations.AddField(
+ model_name='course',
+ name='professors',
+ field=models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'),
+ ),
+ migrations.AddField(
+ model_name='course',
+ name='students',
+ field=models.ManyToManyField(related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'),
+ ),
+ migrations.AddField(
+ model_name='activity',
+ name='students',
+ field=models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students'),
+ ),
+ migrations.AddField(
+ model_name='activity',
+ name='topic',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'),
+ ),
+ ]
diff --git a/forum/migrations/0001_initial.py b/forum/migrations/0001_initial.py
index 31b3458..8a003ad 100644
--- a/forum/migrations/0001_initial.py
+++ b/forum/migrations/0001_initial.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-10-01 16:02
+# Generated by Django 1.10 on 2016-10-02 00:17
from __future__ import unicode_literals
-from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
@@ -13,7 +12,6 @@ class Migration(migrations.Migration):
dependencies = [
('courses', '0001_initial'),
- migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
@@ -38,8 +36,6 @@ class Migration(migrations.Migration):
('message', models.TextField(verbose_name='Post message')),
('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')),
('post_date', models.DateTimeField(auto_now_add=True, verbose_name='Post Date')),
- ('forum', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Forum', verbose_name='Forum')),
- ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')),
],
options={
'verbose_name': 'Post',
@@ -54,7 +50,6 @@ class Migration(migrations.Migration):
('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')),
('answer_date', models.DateTimeField(auto_now_add=True, verbose_name='Answer Date')),
('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Post', verbose_name='Post')),
- ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')),
],
options={
'verbose_name': 'Post Answer',
diff --git a/forum/migrations/0002_auto_20161001_2117.py b/forum/migrations/0002_auto_20161001_2117.py
new file mode 100644
index 0000000..1761dca
--- /dev/null
+++ b/forum/migrations/0002_auto_20161001_2117.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10 on 2016-10-02 00:17
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('forum', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='postanswer',
+ name='user',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'),
+ ),
+ migrations.AddField(
+ model_name='post',
+ name='forum',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Forum', verbose_name='Forum'),
+ ),
+ migrations.AddField(
+ model_name='post',
+ name='user',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'),
+ ),
+ ]
diff --git a/forum/static/js/forum.js b/forum/static/js/forum.js
index 5a54c88..f422557 100644
--- a/forum/static/js/forum.js
+++ b/forum/static/js/forum.js
@@ -14,6 +14,46 @@ function getCookie(name) {
return cookieValue;
}
+function createForum(url, topic) {
+ $.ajax({
+ url: url,
+ data: {'topic': topic},
+ success: function(data) {
+ $(".forum_form").html(data);
+ $("#id_topic").val(topic);
+
+ $('.date-picker').datepicker({
+ orientation: 'auto'
+ });
+
+
+ var frm = $('#forum_create');
+ frm.submit(function () {
+ $.ajax({
+ type: frm.attr('method'),
+ url: frm.attr('action'),
+ data: frm.serialize(),
+ success: function (data) {
+ data = data.split('-');
+
+ $('.foruns_list').append(""+data[2]+"
");
+
+ $("#createForum").modal('hide');
+
+ showForum(data[0], data[1]);
+ },
+ error: function(data) {
+ console.log('Error');
+ }
+ });
+ return false;
+ });
+ }
+ });
+
+ $("#createForum").modal();
+}
+
/*
*
diff --git a/forum/urls.py b/forum/urls.py
index 1416a48..37d7dd8 100644
--- a/forum/urls.py
+++ b/forum/urls.py
@@ -5,12 +5,13 @@ from . import views
urlpatterns = [
url(r'^$', views.ForumIndex.as_view(), name='index'),
- url(r'^create$', views.CreateForumView.as_view(), name='create'),
- url(r'^create_post$', views.CreatePostView.as_view(), name='create_post'),
+ url(r'^create/$', views.CreateForumView.as_view(), name='create'),
+ url(r'^render_forum/([\w_-]+)/$', views.render_forum, name='render_forum'),
+ url(r'^create_post/$', views.CreatePostView.as_view(), name='create_post'),
url(r'^update_post/(?P[\w_-]+)/$', views.PostUpdateView.as_view(), name='update_post'),
url(r'^delete_post/(?P[\w_-]+)/$', views.PostDeleteView.as_view(), name='delete_post'),
url(r'^render_post/([\w_-]+)/$', views.render_post, name='render_post'),
url(r'^post_deleted/$', views.post_deleted, name='deleted_post'),
- url(r'^post_answers$', views.PostAnswerIndex.as_view(), name='post_answers'),
- url(r'^reply_post$', views.CreatePostAnswerView.as_view(), name='reply_post'),
+ url(r'^post_answers/$', views.PostAnswerIndex.as_view(), name='post_answers'),
+ url(r'^reply_post/$', views.CreatePostAnswerView.as_view(), name='reply_post'),
]
diff --git a/forum/views.py b/forum/views.py
index d9d0664..9698f7b 100644
--- a/forum/views.py
+++ b/forum/views.py
@@ -31,10 +31,21 @@ class ForumIndex(LoginRequiredMixin, generic.ListView):
return context
class CreateForumView(LoginRequiredMixin, generic.edit.CreateView):
+ login_url = reverse_lazy("core:home")
+ redirect_field_name = 'next'
template_name = 'forum/forum_form.html'
form_class = ForumForm
- success_url = reverse_lazy('forum:index')
+
+ def get_success_url(self):
+ self.success_url = reverse('forum:render_forum', args = (self.object.id, ))
+
+ return self.success_url
+
+def render_forum(request, forum):
+ last_forum = get_object_or_404(Forum, id = forum)
+
+ return HttpResponse(str(reverse_lazy('forum:index')) + '-' + str(forum) + '-' + str(last_forum.name))
class CreatePostView(LoginRequiredMixin, generic.edit.CreateView):
login_url = reverse_lazy("core:home")
diff --git a/poll/migrations/0001_initial.py b/poll/migrations/0001_initial.py
index f140052..3678e2f 100644
--- a/poll/migrations/0001_initial.py
+++ b/poll/migrations/0001_initial.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-10-01 16:02
+# Generated by Django 1.10 on 2016-10-02 00:17
from __future__ import unicode_literals
from django.db import migrations, models
diff --git a/users/migrations/0001_initial.py b/users/migrations/0001_initial.py
index 1678f61..050f332 100644
--- a/users/migrations/0001_initial.py
+++ b/users/migrations/0001_initial.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-10-01 16:01
+# Generated by Django 1.10 on 2016-10-02 00:17
from __future__ import unicode_literals
import django.contrib.auth.models
--
libgit2 0.21.2