Commit fa75a3117f41f031175d5e7414d7d9e7de214741
1 parent
2ce54b32
Exists in
master
and in
5 other branches
Inicial template [Issue: #73]
Showing
8 changed files
with
122 additions
and
19 deletions
Show diff stats
amadeus/settings.py
amadeus/urls.py
... | ... | @@ -23,6 +23,7 @@ urlpatterns = [ |
23 | 23 | url(r'^home/', include('app.urls', namespace = 'app')), |
24 | 24 | url(r'^course/', include('courses.urls', namespace = 'course')), |
25 | 25 | url(r'^users/', include('users.urls', namespace = 'users')), |
26 | + url(r'^forum/', include('forum.urls', namespace = 'forum')), | |
26 | 27 | url(r'^admin/', admin.site.urls), |
27 | 28 | url(r'^', include('core.urls', namespace = 'core')), |
28 | 29 | ] | ... | ... |
courses/templates/subject/form_view_teacher.html
1 | -{% load i18n %} | |
1 | +{% load static i18n %} | |
2 | + | |
3 | +{% block javascript %} | |
4 | + <script type="text/javascript"> | |
5 | + var baseUrl = '{% url "forum:index" %}'; | |
6 | + | |
7 | + function showForum(topic) { | |
8 | + $.ajax({ | |
9 | + url: baseUrl, | |
10 | + data: {'topic': topic}, | |
11 | + success: function(data) { | |
12 | + console.log(data); | |
13 | + $(".modal-body").html(data); | |
14 | + } | |
15 | + }); | |
16 | + | |
17 | + $('#forumModal').modal(); | |
18 | + } | |
19 | + </script> | |
20 | +{% endblock %} | |
2 | 21 | |
3 | 22 | <div class="panel panel-default"> |
4 | - <a href="{% url 'course:view_topic' topic.slug %}"> | |
5 | - <div class="panel-heading"> | |
6 | - <div class="row"> | |
7 | - <div class="col-md-9 col-sm-9"> | |
8 | - <h3>{{topic}}</h3> | |
9 | - </div> | |
10 | - <div class="col-md-3 col-sm-3"> | |
11 | - <a href="{% url 'course:update_topic' topic.slug%}" class="btn">{% trans "edit" %}</a> | |
12 | - </div> | |
23 | + <a href="{% url 'course:view_topic' topic.slug %}"> | |
24 | + <div class="panel-heading"> | |
25 | + <div class="row"> | |
26 | + <div class="col-md-9 col-sm-9"> | |
27 | + <h3>{{topic}}</h3> | |
28 | + </div> | |
29 | + <div class="col-md-3 col-sm-3"> | |
30 | + <a href="{% url 'course:update_topic' topic.slug%}" class="btn">{% trans "edit" %}</a> | |
31 | + </div> | |
32 | + </div> | |
33 | + </div> | |
34 | + </a> | |
35 | + <div class="panel-body"> | |
36 | + <p>{{topic.description|linebreaks}}</p> | |
37 | + <a href="javascript:showForum('{{topic.slug}}')">Forum</a> | |
13 | 38 | </div> |
14 | - </div> | |
15 | - </a> | |
16 | - <div class="panel-body"> | |
17 | - <p>{{topic.description|linebreaks}}</p> | |
18 | - </div> | |
19 | 39 | </div> |
40 | + | |
41 | +<div class="modal fade" id="forumModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> | |
42 | + <div class="modal-dialog" role="document"> | |
43 | + <div class="modal-content"> | |
44 | + <div class="modal-header"> | |
45 | + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> | |
46 | + <h4 class="modal-title" id="myModalLabel"></h4> | |
47 | + </div> | |
48 | + <div class="modal-body"> | |
49 | + | |
50 | + </div> | |
51 | + </div> | |
52 | + </div> | |
53 | +</div> | |
20 | 54 | \ No newline at end of file | ... | ... |
courses/views.py
... | ... | @@ -281,7 +281,7 @@ class TopicsView(LoginRequiredMixin, generic.ListView): |
281 | 281 | def get_queryset(self): |
282 | 282 | topic = get_object_or_404(Topic, slug = self.kwargs.get('slug')) |
283 | 283 | subject = topic.subject |
284 | - context = subject.topics.filter(visible=True) | |
284 | + context = Topic.objects.filter(subject = subject, visible=True) | |
285 | 285 | #if (self.request.user in subject.professors.all() or has_role(self.request.user,'system_admin')): |
286 | 286 | #context = subject.topics.all() <- Change it By Activities |
287 | 287 | return context | ... | ... |
forum/models.py
... | ... | @@ -13,7 +13,6 @@ It works like a 'topic' of forum, which users can post to it and answer posts of |
13 | 13 | class Forum(Activity): |
14 | 14 | title = models.CharField(_('Title'), max_length = 100) |
15 | 15 | description = models.TextField(_('Description'), blank = True) |
16 | - create_date = models.DateTimeField(_('Create Date'), auto_now_add = True) | |
17 | 16 | |
18 | 17 | class Meta: |
19 | 18 | verbose_name = _('Forum') | ... | ... |
... | ... | @@ -0,0 +1,41 @@ |
1 | +<div class="page-header"> | |
2 | + <h1 id="timeline">Forum</h1> | |
3 | + <b>Descricao: </b>Learning Python<p> | |
4 | + <b>Abertura: </b>Sexta-feira, 10 Junho 2016 | |
5 | +</div> | |
6 | +<ul class="timeline"> | |
7 | + <li> | |
8 | + <div class="timeline-badge"> | |
9 | + <img id="logo" src="https://uxdesign-html-japm94.c9users.io/atividades-amadeus/uxdesign-html/img/topo-amadeus.png"> | |
10 | + </div> | |
11 | + <p></p> | |
12 | + <div class="timeline-panel"> | |
13 | + <div class="timeline-heading"> | |
14 | + <h4 class="timeline-title">Python is insteresting</h4> | |
15 | + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i> 11 hours ago by </small>Carlos </p> | |
16 | + </div> | |
17 | + <div class="timeline-body"> | |
18 | + <p>Who knows how working a String in python?</p> | |
19 | + </div> | |
20 | + <hr> | |
21 | + <i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i> | |
22 | + </div> | |
23 | + </li> | |
24 | + <li> | |
25 | + <div class="timeline-badge"> | |
26 | + <img id="logo" src="https://uxdesign-html-japm94.c9users.io/atividades-amadeus/uxdesign-html/img/topo-amadeus.png"> | |
27 | + </div> | |
28 | + <p></p> | |
29 | + <div class="timeline-panel"> | |
30 | + <div class="timeline-heading"> | |
31 | + <h4 class="timeline-title">Ruby's doubt</h4> | |
32 | + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i> 5 hours ago by </small>Jurandi</p> | |
33 | + </div> | |
34 | + <div class="timeline-body"> | |
35 | + <p>How works the Gems?</p> | |
36 | + </div> | |
37 | + <hr> | |
38 | + <i class="fa fa-pencil-square-o fa-2x" aria-hidden="true"></i> | |
39 | + </div> | |
40 | + </li> | |
41 | +</ul> | |
0 | 42 | \ No newline at end of file | ... | ... |
forum/views.py
1 | -from django.shortcuts import render | |
1 | +from django.shortcuts import render, get_object_or_404 | |
2 | +from django.core.urlresolvers import reverse_lazy | |
3 | +from django.utils.translation import ugettext_lazy as _ | |
4 | +from django.views.generic import ListView | |
5 | +from django.contrib.auth.mixins import LoginRequiredMixin | |
2 | 6 | |
3 | -# Create your views here. | |
7 | +from .models import Forum | |
8 | +from courses.models import Topic | |
9 | + | |
10 | +class ForumIndex(LoginRequiredMixin, ListView): | |
11 | + login_url = reverse_lazy("core:home") | |
12 | + redirect_field_name = 'next' | |
13 | + | |
14 | + template_name = "forum_list.html" | |
15 | + context_object_name = 'forum' | |
16 | + | |
17 | + def get_queryset(self): | |
18 | + topic = get_object_or_404(Topic, slug = self.request.GET.get('topic', '')) | |
19 | + | |
20 | + context = Forum.objects.filter(topic = topic) | |
21 | + | |
22 | + return context | ... | ... |