diff --git a/amadeus/urls.py b/amadeus/urls.py index 117c288..0cb2be9 100644 --- a/amadeus/urls.py +++ b/amadeus/urls.py @@ -23,7 +23,6 @@ urlpatterns = [ url(r'^home/', include('app.urls', namespace = 'app')), url(r'^course/', include('courses.urls', namespace = 'course')), url(r'^users/', include('users.urls', namespace = 'users')), - url(r'^forum/', include('forum.urls', namespace = 'forum')), url(r'^admin/', admin.site.urls), url(r'^', include('core.urls', namespace = 'core')), diff --git a/core/templates/base.html b/core/templates/base.html index a3852db..a58fe00 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -45,6 +45,8 @@ {% block style %} {% endblock %} + {% block javascript %} + {% endblock %}
diff --git a/courses/templates/subject/form_view_teacher.html b/courses/templates/subject/form_view_teacher.html index 5cb754b..47b8485 100644 --- a/courses/templates/subject/form_view_teacher.html +++ b/courses/templates/subject/form_view_teacher.html @@ -19,7 +19,7 @@

{{ topic.description|linebreaks }}

- +
{% list_topic_foruns request topic %}
diff --git a/courses/templates/topic/list_topic_foruns.html b/courses/templates/topic/list_topic_foruns.html index ef6a4ab..ce4b6c5 100644 --- a/courses/templates/topic/list_topic_foruns.html +++ b/courses/templates/topic/list_topic_foruns.html @@ -1,3 +1,3 @@ {% for forum in foruns %} - {{ forum }}
+ {{ forum }}
{% endfor %} \ No newline at end of file diff --git a/courses/urls.py b/courses/urls.py index 06bf5dd..a6c6e2a 100644 --- a/courses/urls.py +++ b/courses/urls.py @@ -24,6 +24,7 @@ urlpatterns = [ url(r'^subjects/categories$',views.IndexSubjectCategoryView.as_view(), name='subject_category_index'), + url(r'^forum/', include('forum.urls', namespace = 'forum')), url(r'^poll/', include('poll.urls', namespace = 'poll')) ] diff --git a/forum/templates/forum/forum_list.html b/forum/templates/forum/forum_list.html index 7968613..17ea290 100644 --- a/forum/templates/forum/forum_list.html +++ b/forum/templates/forum/forum_list.html @@ -29,7 +29,7 @@ {% list_posts request forum %}
-
+ {% csrf_token %} {% for field in form %} {% if field.field.widget.input_type == 'hidden' %} @@ -63,26 +63,4 @@
{% endif %} {% endfor %} - - - + \ No newline at end of file diff --git a/forum/templates/forum/forum_view.html b/forum/templates/forum/forum_view.html new file mode 100644 index 0000000..7f8b8d5 --- /dev/null +++ b/forum/templates/forum/forum_view.html @@ -0,0 +1,79 @@ +{% extends 'base.html' %} + +{% load static i18n permission_tags list_post %} +{% load widget_tweaks %} + +{% block javascript %} + +{% endblock %} + +{% block breadcrumbs %} + + +{% endblock %} + +{% block sidebar %} + + + {% if request.user|has_role:'system_admin' or request.user|has_role:'professor' and request.user == post.user %} + + {% endif %} +{% endblock %} + +{% block content %} +
+
+
+
+

{{ forum }}

+

{% trans 'Description' %}: {{ forum.description }}

+

{% trans 'Opened in' %}: {{ forum.create_date }}

+
+
+ +
+ {% list_posts request forum %} +
+
+
+{% endblock %} + +{% block rightbar %} +
+
+

{% trans "Pending Stuffs" %}

+
+
+ +
+
+{% endblock rightbar %} \ No newline at end of file diff --git a/forum/templates/post/post_list.html b/forum/templates/post/post_list.html index a2b4377..a2d51d9 100644 --- a/forum/templates/post/post_list.html +++ b/forum/templates/post/post_list.html @@ -7,7 +7,7 @@

{{ post.user }}
- + reply {% if request.user|has_role:'system_admin' or request.user == post.user %} @@ -17,8 +17,8 @@ more_horiz
{% endif %} @@ -40,34 +40,4 @@ {% list_post_answer request post %} {% endfor %} -{% endif %} - \ No newline at end of file +{% endif %} \ No newline at end of file diff --git a/forum/templates/post/post_render.html b/forum/templates/post/post_render.html index 6ef6146..1dfb195 100644 --- a/forum/templates/post/post_render.html +++ b/forum/templates/post/post_render.html @@ -5,7 +5,7 @@

{{ post.user }}
- + reply {% if request.user|has_role:'system_admin' or request.user|has_role:'professor' and request.user == post.user %} @@ -15,8 +15,8 @@ more_horiz
{% endif %} diff --git a/forum/urls.py b/forum/urls.py index 1df8b6d..0131c56 100644 --- a/forum/urls.py +++ b/forum/urls.py @@ -1,10 +1,11 @@ -from django.conf.urls import url, include +from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.ForumIndex.as_view(), name='index'), + url(r'^(?P[\w_-]+)/$', views.ForumDetailView.as_view(), name='view'), url(r'^create/$', views.CreateForumView.as_view(), name='create'), url(r'^delete/(?P[\w_-]+)/$', views.ForumDeleteView.as_view(), name='delete'), url(r'^render_forum/([\w_-]+)/$', views.render_forum, name='render_forum'), diff --git a/forum/views.py b/forum/views.py index bffa50d..ddf08e3 100644 --- a/forum/views.py +++ b/forum/views.py @@ -42,14 +42,14 @@ class CreateForumView(LoginRequiredMixin, generic.edit.CreateView): def get_success_url(self): print("Pass") - self.success_url = reverse('forum:render_forum', args = (self.object.id, )) + self.success_url = reverse('course: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)) + return HttpResponse(str(reverse_lazy('course:forum:index')) + '-' + str(forum) + '-' + str(last_forum.name)) class ForumDeleteView(LoginRequiredMixin, generic.DeleteView): login_url = reverse_lazy("core:home") @@ -57,11 +57,28 @@ class ForumDeleteView(LoginRequiredMixin, generic.DeleteView): model = Forum pk_url_kwarg = 'pk' - success_url = reverse_lazy('forum:deleted_forum') + success_url = reverse_lazy('course:forum:deleted_forum') def forum_deleted(request): return HttpResponse(_("Forum deleted successfully.")) +class ForumDetailView(LoginRequiredMixin, generic.DetailView): + login_url = reverse_lazy("core:home") + redirect_field_name = 'next' + + model = Forum + template_name = 'forum/forum_view.html' + context_object_name = 'forum' + + def get_context_data(self, **kwargs): + context = super(ForumDetailView, self).get_context_data(**kwargs) + forum = get_object_or_404(Forum, slug = self.kwargs.get('slug')) + + context['forum'] = forum + context['title'] = forum.name + + return context + class CreatePostView(LoginRequiredMixin, generic.edit.CreateView): login_url = reverse_lazy("core:home") redirect_field_name = 'next' @@ -77,7 +94,7 @@ class CreatePostView(LoginRequiredMixin, generic.edit.CreateView): return super(CreatePostView, self).form_valid(form) def get_success_url(self): - self.success_url = reverse('forum:render_post', args = (self.object.id, )) + self.success_url = reverse('course:forum:render_post', args = (self.object.id, )) return self.success_url @@ -98,7 +115,7 @@ class PostUpdateView(LoginRequiredMixin, generic.UpdateView): template_name = "post/post_update_form.html" def get_success_url(self): - self.success_url = reverse('forum:render_post', args = (self.object.id, )) + self.success_url = reverse('course:forum:render_post', args = (self.object.id, )) return self.success_url @@ -108,7 +125,7 @@ class PostDeleteView(LoginRequiredMixin, generic.DeleteView): model = Post pk_url_kwarg = 'pk' - success_url = reverse_lazy('forum:deleted_post') + success_url = reverse_lazy('course:forum:deleted_post') def post_deleted(request): return HttpResponse(_("Post deleted successfully.")) @@ -131,4 +148,4 @@ class CreatePostAnswerView(LoginRequiredMixin, generic.edit.CreateView): template_name = 'post_answers/post_answer_form.html' form_class = PostAnswerForm - success_url = reverse_lazy('forum:index') \ No newline at end of file + success_url = reverse_lazy('course:forum:index') \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 81d4488..edfb500 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,7 +14,6 @@ itsdangerous==0.24 Jinja2==2.8 MarkupSafe==0.23 Pillow==3.3.1 -pkg-resources==0.0.0 psycopg2==2.6.2 pycpfcnpj==1.0.2 six==1.10.0 -- libgit2 0.21.2