Commit 415f147d367c83894bf5bcf1aca9c36c07a86782

Authored by Zambom
1 parent 29ad99c6

Fixing professor permissions and relation error

courses/templates/course/view.html
... ... @@ -28,7 +28,7 @@
28 28 </div>
29 29 </div>
30 30  
31   -{% if user|has_role:'professor' or user|has_role:'system_admin' %}
  31 +{% if user|has_role:'professor' and user in course.professors or user|has_role:'system_admin' %}
32 32  
33 33 <div class="panel panel-primary navigation">
34 34 <div class="panel-heading">
... ... @@ -56,7 +56,7 @@
56 56 <div class="col-xs-8 col-md-10 titleTopic">
57 57 <h4>{{course}}</h4>
58 58 </div>
59   - {% if user|has_role:'professor' or user|has_role:'system_admin' %}
  59 + {% if user|has_role:'professor' and user in course.professors or user|has_role:'system_admin' %}
60 60 <div class="col-xs-4 col-md-2" id="divMoreActions">
61 61 <div class="btn-group">
62 62 <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
... ... @@ -199,17 +199,19 @@
199 199 <h4 style="color:white">{{subject.name}}</h4>
200 200 </a>
201 201 </div>
202   - <div class="col-xs-3 col-md-2" id="divMoreActions">
203   - <div class="btn-group">
204   - <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
205   - <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i>
206   - </button>
207   - <ul class="dropdown-menu" aria-labelledby="moreActions">
208   - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal3"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>&nbsp; Replicate</a></li>
209   - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#removeSubject2"><i class="fa fa-trash fa-fw" aria-hidden="true"></i>&nbsp; Remove</a></li>
210   - </ul>
  202 + {% if user|has_role:'professor' and user in subject.professors or user|has_role:'system_admin' %}
  203 + <div class="col-xs-3 col-md-2" id="divMoreActions">
  204 + <div class="btn-group">
  205 + <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  206 + <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i>
  207 + </button>
  208 + <ul class="dropdown-menu" aria-labelledby="moreActions">
  209 + <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal3"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>&nbsp; Replicate</a></li>
  210 + <li><a href="javascript:void(0)" data-toggle="modal" data-target="#removeSubject2"><i class="fa fa-trash fa-fw" aria-hidden="true"></i>&nbsp; Remove</a></li>
  211 + </ul>
  212 + </div>
211 213 </div>
212   - </div>
  214 + {% endif %}
213 215 </div>
214 216 </div>
215 217 <div class="panel-body">
... ... @@ -244,17 +246,19 @@
244 246 <h4 style="color:white">{{subject.name}}</h4>
245 247 </a>
246 248 </div>
247   - <div class="col-xs-3 col-md-2" id="divMoreActions">
248   - <div class="btn-group">
249   - <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
250   - <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i>
251   - </button>
252   - <ul class="dropdown-menu" aria-labelledby="moreActions">
253   - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal3"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>&nbsp; Replicate</a></li>
254   - <li><a href="javascript:void(0)" data-toggle="modal" data-target="#removeSubject2"><i class="fa fa-trash fa-fw" aria-hidden="true"></i>&nbsp; Remove</a></li>
255   - </ul>
  249 + {% if user|has_role:'professor' and user in subject.professors or user|has_role:'system_admin' %}
  250 + <div class="col-xs-3 col-md-2" id="divMoreActions">
  251 + <div class="btn-group">
  252 + <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  253 + <i class="fa fa-ellipsis-v fa-2x" aria-hidden="true"></i>
  254 + </button>
  255 + <ul class="dropdown-menu" aria-labelledby="moreActions">
  256 + <li><a href="javascript:void(0)" data-toggle="modal" data-target="#myModal3"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i>&nbsp; Replicate</a></li>
  257 + <li><a href="javascript:void(0)" data-toggle="modal" data-target="#removeSubject2"><i class="fa fa-trash fa-fw" aria-hidden="true"></i>&nbsp; Remove</a></li>
  258 + </ul>
  259 + </div>
256 260 </div>
257   - </div>
  261 + {% endif %}
258 262 </div>
259 263 </div>
260 264 <div class="panel-body">
... ... @@ -281,7 +285,7 @@
281 285 {% endfor %}
282 286 {% endif %}
283 287  
284   -{% if user|has_role:'professor' or user|has_role:'system_admin' %}
  288 +{% if user|has_role:'professor' and user in course.professors or user|has_role:'system_admin' %}
285 289  
286 290 <div class="form-group">
287 291 <a href="{% url 'course:create_subject' course.slug %}" data-toggle="modal" data-target="" class="btn btn-primary btn-lg btn-block btn-raised">{% trans 'Create Subject' %}<div class="ripple-container"></div></a>
... ...
courses/views.py
... ... @@ -187,7 +187,7 @@ class CourseView(LoginRequiredMixin, NotificationMixin, generic.DetailView):
187 187 if has_role(self.request.user,'system_admin'):
188 188 courses = Course.objects.all()
189 189 elif has_role(self.request.user,'professor'):
190   - courses = self.request.user.courses.all()
  190 + courses = self.request.user.courses_professors.all()
191 191 elif has_role(self.request.user, 'student'):
192 192 courses = self.request.user.courses_student.all()
193 193  
... ...