Commit 415f147d367c83894bf5bcf1aca9c36c07a86782

Authored by Zambom
1 parent 29ad99c6

Fixing professor permissions and relation error

courses/templates/course/view.html
@@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
28 </div> 28 </div>
29 </div> 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 <div class="panel panel-primary navigation"> 33 <div class="panel panel-primary navigation">
34 <div class="panel-heading"> 34 <div class="panel-heading">
@@ -56,7 +56,7 @@ @@ -56,7 +56,7 @@
56 <div class="col-xs-8 col-md-10 titleTopic"> 56 <div class="col-xs-8 col-md-10 titleTopic">
57 <h4>{{course}}</h4> 57 <h4>{{course}}</h4>
58 </div> 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 <div class="col-xs-4 col-md-2" id="divMoreActions"> 60 <div class="col-xs-4 col-md-2" id="divMoreActions">
61 <div class="btn-group"> 61 <div class="btn-group">
62 <button class="btn btn-default btn-sm dropdown-toggle" type="button" id="moreActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 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,17 +199,19 @@
199 <h4 style="color:white">{{subject.name}}</h4> 199 <h4 style="color:white">{{subject.name}}</h4>
200 </a> 200 </a>
201 </div> 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 </div> 213 </div>
212 - </div> 214 + {% endif %}
213 </div> 215 </div>
214 </div> 216 </div>
215 <div class="panel-body"> 217 <div class="panel-body">
@@ -244,17 +246,19 @@ @@ -244,17 +246,19 @@
244 <h4 style="color:white">{{subject.name}}</h4> 246 <h4 style="color:white">{{subject.name}}</h4>
245 </a> 247 </a>
246 </div> 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 </div> 260 </div>
257 - </div> 261 + {% endif %}
258 </div> 262 </div>
259 </div> 263 </div>
260 <div class="panel-body"> 264 <div class="panel-body">
@@ -281,7 +285,7 @@ @@ -281,7 +285,7 @@
281 {% endfor %} 285 {% endfor %}
282 {% endif %} 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 <div class="form-group"> 290 <div class="form-group">
287 <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> 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,7 +187,7 @@ class CourseView(LoginRequiredMixin, NotificationMixin, generic.DetailView):
187 if has_role(self.request.user,'system_admin'): 187 if has_role(self.request.user,'system_admin'):
188 courses = Course.objects.all() 188 courses = Course.objects.all()
189 elif has_role(self.request.user,'professor'): 189 elif has_role(self.request.user,'professor'):
190 - courses = self.request.user.courses.all() 190 + courses = self.request.user.courses_professors.all()
191 elif has_role(self.request.user, 'student'): 191 elif has_role(self.request.user, 'student'):
192 courses = self.request.user.courses_student.all() 192 courses = self.request.user.courses_student.all()
193 193