diff --git a/circle/dashboard/templates/dashboard/template-list.html b/circle/dashboard/templates/dashboard/template-list.html index 872d436..9c3bfb5 100644 --- a/circle/dashboard/templates/dashboard/template-list.html +++ b/circle/dashboard/templates/dashboard/template-list.html @@ -26,9 +26,11 @@ <div class="col-md-6"> <div class="panel panel-default"> <div class="panel-heading"> + {% if perms.vm.create_leases %} <a href="{% url "dashboard.views.lease-create" %}" class="pull-right btn btn-success btn-xs" style="margin-right: 10px;"> <i class="icon-plus"></i> {% trans "new lease" %} </a> + {% endif %} <h3 class="no-margin"><i class="icon-time"></i> {% trans "Leases" %}</h3> </div> <div class="panel-body"> diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py index cfc2f42..b0864dd 100644 --- a/circle/dashboard/views.py +++ b/circle/dashboard/views.py @@ -2285,10 +2285,11 @@ class VmMassDelete(LoginRequiredMixin, View): return redirect(next if next else reverse_lazy('dashboard.index')) -class LeaseCreate(LoginRequiredMixin, SuperuserRequiredMixin, +class LeaseCreate(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, CreateView): model = Lease form_class = LeaseForm + permission_required = 'vm.create_leases' template_name = "dashboard/lease-create.html" success_message = _("Successfully created a new lease.") diff --git a/circle/vm/models/common.py b/circle/vm/models/common.py index bf89386..9adf9d4 100644 --- a/circle/vm/models/common.py +++ b/circle/vm/models/common.py @@ -97,7 +97,6 @@ class Lease(AclBase): ordering = ['name', ] permissions = ( ('create_leases', _('Can create new leases.')), - ('bypass_leases', _('Can set arbitrary expiration times.')), ) @property