Commit 40d29a809c2a35989de95b70d55c3ca671e509a1

Authored by Felipe Henrique de Almeida Bormann
1 parent 372a5eb2

fixed minor issues with this release, but still have work to do on search subjects

amadeus/templates/base.html
@@ -84,7 +84,7 @@ @@ -84,7 +84,7 @@
84 </div> 84 </div>
85 <div class="navbar-collapse collapse navbar-responsive-collapse"> 85 <div class="navbar-collapse collapse navbar-responsive-collapse">
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"> 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 <div class="input-group"> 88 <div class="input-group">
89 <div class="form-group is-empty" > 89 <div class="form-group is-empty" >
90 <input type="text" class="form-control top-search" placeholder="{% trans 'Search for subjects and resources' %}" name="search"> 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,7 +27,7 @@ class Subject(models.Model):
27 init_date = models.DateField(_('Begin of Subject Date')) 27 init_date = models.DateField(_('Begin of Subject Date'))
28 end_date = models.DateField(_('End of Subject Date')) 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 create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) 32 create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True)
33 update_date = models.DateTimeField(_('Date of last update'), auto_now=True) 33 update_date = models.DateTimeField(_('Date of last update'), auto_now=True)
subjects/templates/subjects/create.html
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 18
19 {% if subject %} 19 {% if subject %}
20 {% breadcrumb subject.category 'subjects:cat_view' subject.category.slug %} 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 {% trans 'Replicate: ' as bread %} 23 {% trans 'Replicate: ' as bread %}
24 24
subjects/templates/subjects/subject_card.html
@@ -16,7 +16,9 @@ @@ -16,7 +16,9 @@
16 <i class="fa fa-ellipsis-v" aria-hidden="true"></i> 16 <i class="fa fa-ellipsis-v" aria-hidden="true"></i>
17 </a> 17 </a>
18 <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> 18 <ul class="dropdown-menu pull-right" aria-labelledby="moreActions">
  19 + {% if request.user not in subject.professor.all %}
19 <li><a href="{% url 'subjects:replicate' subject.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i>{% trans 'Replicate' %}</a></li> 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 <li><a href="{% url 'subjects:update' subject.slug %}"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>{% trans 'Edit' %}</a></li> 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 <li><a href="{% url 'groups:index' subject.slug %}"><i class="fa fa-group fa-fw" aria-hidden="true"></i>{% trans 'Groups' %}</a></li> 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 <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>&nbsp;{% trans 'Remove' %}</a></li> 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>&nbsp;{% trans 'Remove' %}</a></li>
subjects/templates/subjects/subscribe.html
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 <!-- Modal Header --> 7 <!-- Modal Header -->
8 <div class="modal-header"> 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 </div> 11 </div>
12 <!-- Modal Body --> 12 <!-- Modal Body -->
13 <div class="modal-body"> 13 <div class="modal-body">
subjects/urls.py
@@ -12,5 +12,5 @@ urlpatterns = [ @@ -12,5 +12,5 @@ urlpatterns = [
12 url(r'^delete/(?P<slug>[\w_-]+)/$', views.SubjectDeleteView.as_view(), name='delete'), 12 url(r'^delete/(?P<slug>[\w_-]+)/$', views.SubjectDeleteView.as_view(), name='delete'),
13 url(r'^view/(?P<slug>[\w_-]+)/$', views.SubjectDetailView.as_view(), name='view'), 13 url(r'^view/(?P<slug>[\w_-]+)/$', views.SubjectDetailView.as_view(), name='view'),
14 url(r'^subscribe/(?P<slug>[\w_-]+)/$', views.SubjectSubscribeView.as_view(), name='subscribe'), 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 \ No newline at end of file 17 \ No newline at end of file
subjects/views.py
@@ -38,6 +38,7 @@ class HomeView(LoginRequiredMixin, ListView): @@ -38,6 +38,7 @@ class HomeView(LoginRequiredMixin, ListView):
38 paginate_by = 10 38 paginate_by = 10
39 total = 0 39 total = 0
40 40
  41 +
41 def get_queryset(self): 42 def get_queryset(self):
42 if self.request.user.is_staff: 43 if self.request.user.is_staff:
43 subjects = Subject.objects.all().order_by("name") 44 subjects = Subject.objects.all().order_by("name")
@@ -342,7 +343,40 @@ class SubjectSubscribeView(LoginRequiredMixin, TemplateView): @@ -342,7 +343,40 @@ class SubjectSubscribeView(LoginRequiredMixin, TemplateView):
342 343
343 class SubjectSearchView(LoginRequiredMixin, ListView): 344 class SubjectSearchView(LoginRequiredMixin, ListView):
344 login_url = reverse_lazy("users:login") 345 login_url = reverse_lazy("users:login")
345 - redirect_field_name = 'next'  
346 template_name = 'subjects/list.html' 346 template_name = 'subjects/list.html'
347 context_object_name = 'categories' 347 context_object_name = 'categories'
348 paginate_by = 10 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