Commit 415f147d367c83894bf5bcf1aca9c36c07a86782
1 parent
29ad99c6
Exists in
master
and in
5 other branches
Fixing professor permissions and relation error
Showing
2 changed files
with
28 additions
and
24 deletions
Show diff stats
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> 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> 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> 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> 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> 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> 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> 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> 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 |