Commit 40d29a809c2a35989de95b70d55c3ca671e509a1
1 parent
372a5eb2
Exists in
master
and in
3 other branches
fixed minor issues with this release, but still have work to do on search subjects
Showing
7 changed files
with
42 additions
and
6 deletions
Show diff stats
amadeus/templates/base.html
... | ... | @@ -84,7 +84,7 @@ |
84 | 84 | </div> |
85 | 85 | <div class="navbar-collapse collapse navbar-responsive-collapse"> |
86 | 86 | <div class="col-md-7 col-md-offset-1 col-sm-6 col-sm-offset-1 col-lg-7 col-lg-offset-1 text-center"> |
87 | - <form id="SearchForm" action="#" method="get" accept-charset="utf-8" class="navbar-form"> | |
87 | + <form id="SearchForm" action="{% url 'subjects:search' %}" method="get" accept-charset="utf-8" class="navbar-form"> | |
88 | 88 | <div class="input-group"> |
89 | 89 | <div class="form-group is-empty" > |
90 | 90 | <input type="text" class="form-control top-search" placeholder="{% trans 'Search for subjects and resources' %}" name="search"> | ... | ... |
subjects/models.py
... | ... | @@ -27,7 +27,7 @@ class Subject(models.Model): |
27 | 27 | init_date = models.DateField(_('Begin of Subject Date')) |
28 | 28 | end_date = models.DateField(_('End of Subject Date')) |
29 | 29 | |
30 | - tags = models.ManyToManyField(Tag, verbose_name='markers', blank=True, null=True) | |
30 | + tags = models.ManyToManyField(Tag, verbose_name='tags', blank=True, null=True) | |
31 | 31 | |
32 | 32 | create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) |
33 | 33 | update_date = models.DateTimeField(_('Date of last update'), auto_now=True) | ... | ... |
subjects/templates/subjects/create.html
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 | |
19 | 19 | {% if subject %} |
20 | 20 | {% breadcrumb subject.category 'subjects:cat_view' subject.category.slug %} |
21 | - {% breadcrumb subject 'subjects:view' subject.slug %} | |
21 | + {% breadcrumb subject 'subjects:view' subject.name %} | |
22 | 22 | |
23 | 23 | {% trans 'Replicate: ' as bread %} |
24 | 24 | ... | ... |
subjects/templates/subjects/subject_card.html
... | ... | @@ -16,7 +16,9 @@ |
16 | 16 | <i class="fa fa-ellipsis-v" aria-hidden="true"></i> |
17 | 17 | </a> |
18 | 18 | <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> |
19 | + {% if request.user not in subject.professor.all %} | |
19 | 20 | <li><a href="{% url 'subjects:replicate' subject.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i>{% trans 'Replicate' %}</a></li> |
21 | + {% endif %} | |
20 | 22 | <li><a href="{% url 'subjects:update' subject.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>{% trans 'Edit' %}</a></li> |
21 | 23 | <li><a href="{% url 'groups:index' subject.slug %}"><i class="fa fa-group fa-fw" aria-hidden="true"></i>{% trans 'Groups' %}</a></li> |
22 | 24 | <li><a href="javascript:delete_subject.get('{% url 'subjects:delete' subject.slug %}?view=index','#subject','#modal_subject')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> | ... | ... |
subjects/templates/subjects/subscribe.html
... | ... | @@ -7,7 +7,7 @@ |
7 | 7 | <!-- Modal Header --> |
8 | 8 | <div class="modal-header"> |
9 | 9 | |
10 | - <h4 class="modal-title" id="myModalLabel">{% trans "Delete Subject" %}</h4> | |
10 | + <h4 class="modal-title" id="myModalLabel">{% trans "Subscribe To Subject" %}</h4> | |
11 | 11 | </div> |
12 | 12 | <!-- Modal Body --> |
13 | 13 | <div class="modal-body"> | ... | ... |
subjects/urls.py
... | ... | @@ -12,5 +12,5 @@ urlpatterns = [ |
12 | 12 | url(r'^delete/(?P<slug>[\w_-]+)/$', views.SubjectDeleteView.as_view(), name='delete'), |
13 | 13 | url(r'^view/(?P<slug>[\w_-]+)/$', views.SubjectDetailView.as_view(), name='view'), |
14 | 14 | url(r'^subscribe/(?P<slug>[\w_-]+)/$', views.SubjectSubscribeView.as_view(), name='subscribe'), |
15 | - #url(r'^modal/(?P<subject_slug>[\w_-]+)/$', views.subscribe_subject(), name='subscribe'), | |
15 | + url(r'^search/$', views.SubjectSearchView.as_view(), name='search'), | |
16 | 16 | ] |
17 | 17 | \ No newline at end of file | ... | ... |
subjects/views.py
... | ... | @@ -38,6 +38,7 @@ class HomeView(LoginRequiredMixin, ListView): |
38 | 38 | paginate_by = 10 |
39 | 39 | total = 0 |
40 | 40 | |
41 | + | |
41 | 42 | def get_queryset(self): |
42 | 43 | if self.request.user.is_staff: |
43 | 44 | subjects = Subject.objects.all().order_by("name") |
... | ... | @@ -342,7 +343,40 @@ class SubjectSubscribeView(LoginRequiredMixin, TemplateView): |
342 | 343 | |
343 | 344 | class SubjectSearchView(LoginRequiredMixin, ListView): |
344 | 345 | login_url = reverse_lazy("users:login") |
345 | - redirect_field_name = 'next' | |
346 | 346 | template_name = 'subjects/list.html' |
347 | 347 | context_object_name = 'categories' |
348 | 348 | paginate_by = 10 |
349 | + | |
350 | + def get_queryset(self): | |
351 | + if self.request.user.is_staff: | |
352 | + subjects = Subject.objects.all().order_by("name") | |
353 | + else: | |
354 | + pk = self.request.user.pk | |
355 | + | |
356 | + subjects = Subject.objects.filter(Q(students__pk=pk) | Q(professor__pk=pk) | Q(category__coordinators__pk=pk)).distinct() | |
357 | + | |
358 | + self.total = len(subjects) | |
359 | + | |
360 | + return subjects | |
361 | + def post(self, request, *args, **kwargs): | |
362 | + print("aqui") | |
363 | + | |
364 | + return HttpResponse("T") | |
365 | + | |
366 | + def get(self, request, *args, **kwargs): | |
367 | + print("get") | |
368 | + print(args) | |
369 | + print(kwargs) | |
370 | + return HttpResponse("t") | |
371 | + | |
372 | + | |
373 | + def get_context_data(self, **kwargs): | |
374 | + context = super(SubjectSearchView, self).get_context_data(**kwargs) | |
375 | + print(kwargs) | |
376 | + print("teste") | |
377 | + tags = kwargs.get('tags').strip() | |
378 | + print(tags) | |
379 | + | |
380 | + context['all'] = False | |
381 | + context['title'] = _('My Subjects') | |
382 | + return context | ... | ... |