Skip to content
Snippets Groups Projects
Commit 0e6a906d authored by Piotr Gawron's avatar Piotr Gawron
Browse files

view_daily_planning permission implemented

parent 0bd98f97
No related branches found
No related tags found
1 merge request!228Resolve "some permissions should be added"
Pipeline #22995 passed
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2020-03-19 13:01
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('web', '0140_auto_20190528_0953'),
]
operations = [
migrations.AlterModelOptions(
name='appointmenttypelink',
options={'permissions': [('view_daily_planning', 'Can see daily planning')]},
),
migrations.AlterField(
model_name='appointmenttype',
name='calendar_font_color',
field=models.CharField(default=b'#00000', max_length=2000, verbose_name=b'Calendar font color'),
),
]
...@@ -2,6 +2,10 @@ from django.db import models ...@@ -2,6 +2,10 @@ from django.db import models
class AppointmentTypeLink(models.Model): class AppointmentTypeLink(models.Model):
class Meta:
permissions = [
("view_daily_planning", "Can see daily planning"),
]
appointment = models.ForeignKey("web.Appointment", on_delete=models.CASCADE) appointment = models.ForeignKey("web.Appointment", on_delete=models.CASCADE)
appointment_type = models.ForeignKey("web.AppointmentType", on_delete=models.CASCADE) appointment_type = models.ForeignKey("web.AppointmentType", on_delete=models.CASCADE)
date_when = models.DateTimeField(null=True, default=None) date_when = models.DateTimeField(null=True, default=None)
......
...@@ -16,12 +16,14 @@ ...@@ -16,12 +16,14 @@
</a> </a>
</li> </li>
<li data-desc="daily_planning"> {% if "view_daily_planning" in permissions %}
<a href="{% url 'web.views.daily_planning' %}"> <li data-desc="daily_planning">
<i class="fa fa-clock-o"></i> <a href="{% url 'web.views.daily_planning' %}">
<span>Daily Planning</span> <i class="fa fa-clock-o"></i>
</a> <span>Daily Planning</span>
</li> </a>
</li>
{% endif %}
{% if "change_worker" in permissions %} {% if "change_worker" in permissions %}
<li data-desc="workers"> <li data-desc="workers">
......
import logging
from django.urls import reverse
from web.tests import LoggedInTestCase
logger = logging.getLogger(__name__)
class DailyPlanningViewTests(LoggedInTestCase):
def test_visit_details_request(self):
self.login_as_admin()
response = self.client.get(reverse('web.views.daily_planning'))
self.assertEqual(response.status_code, 200)
def test_visit_details_request_without_permissions(self):
self.login_as_staff()
response = self.client.get(reverse('web.views.daily_planning'))
self.assertEqual(response.status_code, 302)
# coding=utf-8 # coding=utf-8
import logging
from django.views.generic import TemplateView from django.views.generic import TemplateView
from . import wrap_response
from web.decorators import PermissionDecorator
from web.models.worker_study_role import STUDY_ROLE_CHOICES from web.models.worker_study_role import STUDY_ROLE_CHOICES
from . import wrap_response
class TemplateDailyPlannerView(TemplateView): class TemplateDailyPlannerView(TemplateView):
@PermissionDecorator('view_daily_planning', 'daily_planning')
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
context = self.get_context_data(**kwargs) context = self.get_context_data(**kwargs)
context['worker_study_roles'] = STUDY_ROLE_CHOICES context['worker_study_roles'] = STUDY_ROLE_CHOICES
return wrap_response(request, 'daily_planning.html', context) return wrap_response(request, 'daily_planning.html', context)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment