diff --git a/apps/perms/templates/perms/asset_permission_create.html b/apps/perms/templates/perms/asset_permission_create_update.html similarity index 100% rename from apps/perms/templates/perms/asset_permission_create.html rename to apps/perms/templates/perms/asset_permission_create_update.html diff --git a/apps/perms/templates/perms/asset_permission_list.html b/apps/perms/templates/perms/asset_permission_list.html index 8d06f2e6f..c186d9dd8 100644 --- a/apps/perms/templates/perms/asset_permission_list.html +++ b/apps/perms/templates/perms/asset_permission_list.html @@ -43,8 +43,8 @@ {% endif %} - {% trans 'Update' %} - {% trans 'Delete' %} + {% trans 'Update' %} + {% trans 'Delete' %} {% endfor %} diff --git a/apps/perms/templates/perms/delete_confirm.html b/apps/perms/templates/perms/delete_confirm.html new file mode 100644 index 000000000..777d1dbf9 --- /dev/null +++ b/apps/perms/templates/perms/delete_confirm.html @@ -0,0 +1,15 @@ +{% load i18n %} + + + + + {% trans 'Confirm delete' %} + + +
+ {% csrf_token %} +

Are you sure you want to delete "{{ object.name }}"?

+ +
+ + \ No newline at end of file diff --git a/apps/perms/urls.py b/apps/perms/urls.py index 78a14c267..794ee4884 100644 --- a/apps/perms/urls.py +++ b/apps/perms/urls.py @@ -6,7 +6,13 @@ import views app_name = 'perms' urlpatterns = [ - url(r'^asset-permission$', views.UserAssetPermissionListView.as_view(), name='asset-permission-list'), - url(r'^asset-permission/create$', views.UserAssetPermissionCreateView.as_view(), name='asset-permission-create'), + url(r'^asset-permission$', views.AssetPermissionListView.as_view(), name='asset-permission-list'), + url(r'^asset-permission/create$', views.AssetPermissionCreateView.as_view(), name='asset-permission-create'), + url(r'^asset-permission/(?P[0-9]+)/update$', views.AssetPermissionUpdateView.as_view(), + name='asset-permission-update'), + url(r'^asset-permission/(?P[0-9]+)$', views.AssetPermissionDetailView.as_view(), + name='asset-permission-detail'), + url(r'^asset-permission/(?P[0-9]+)/delete$', views.AssetPermissionDeleteView.as_view(), + name='asset-permission-delete'), ] diff --git a/apps/perms/views.py b/apps/perms/views.py index 2ec9a01f2..709eca7d9 100644 --- a/apps/perms/views.py +++ b/apps/perms/views.py @@ -16,7 +16,7 @@ from .models import AssetPermission from .forms import AssetPermissionForm -class UserAssetPermissionListView(AdminUserRequiredMixin, ListView): +class AssetPermissionListView(AdminUserRequiredMixin, ListView): model = AssetPermission paginate_by = settings.CONFIG.DISPLAY_PER_PAGE context_object_name = 'asset_permission_list' @@ -29,11 +29,11 @@ class UserAssetPermissionListView(AdminUserRequiredMixin, ListView): 'keyword': self.request.GET.get('keyword', '') } kwargs.update(context) - return super(UserAssetPermissionListView, self).get_context_data(**kwargs) + return super(AssetPermissionListView, self).get_context_data(**kwargs) def get_queryset(self): # Todo: Default order by lose asset connection num - self.queryset = super(UserAssetPermissionListView, self).get_queryset() + self.queryset = super(AssetPermissionListView, self).get_queryset() self.keyword = keyword = self.request.GET.get('keyword', '') self.sort = sort = self.request.GET.get('sort', '-date_created') @@ -53,12 +53,12 @@ class UserAssetPermissionListView(AdminUserRequiredMixin, ListView): return self.queryset -class UserAssetPermissionCreateView(AdminUserRequiredMixin, SuccessMessageMixin, CreateView): +class AssetPermissionCreateView(AdminUserRequiredMixin, SuccessMessageMixin, CreateView): model = AssetPermission form_class = AssetPermissionForm - template_name = 'perms/asset_permission_create.html' + template_name = 'perms/asset_permission_create_update.html' success_url = reverse_lazy('perms:asset-permission-list') - success_message = _('Create asset %s perm successfully.') + success_message = _('Create asset permission %s successfully.') def get_context_data(self, **kwargs): context = { @@ -66,48 +66,49 @@ class UserAssetPermissionCreateView(AdminUserRequiredMixin, SuccessMessageMixin, 'action': _('Create asset permission'), } kwargs.update(context) - return super(UserAssetPermissionCreateView, self).get_context_data(**kwargs) + return super(AssetPermissionCreateView, self).get_context_data(**kwargs) - # def get_success_message(self, cleaned_data): - # return self.success_message % ( - # reverse_lazy('perms:asset-permission-list', kwargs={'pk': self.object.pk}) - # ) + def get_success_message(self, cleaned_data): + return self.success_message % ( + reverse_lazy('perms:asset-permission-detail', kwargs={'pk': self.object.pk}), + self.object.name, + ) -# class PermUserAssetUpdateView(AdminUserRequiredMixin, UpdateView): -# model = PermUserAsset -# form_class = PermUserAssetForm -# template_name = 'assets/system_user_create_update.html' -# success_message = _('Update system user %s successfully.') -# -# def get_context_data(self, **kwargs): -# context = { -# 'app': _('Assets'), -# 'action': _('Update system user') -# } -# kwargs.update(context) -# return super(PermUserAssetUpdateView, self).get_context_data(**kwargs) -# -# def get_success_url(self): -# success_url = reverse_lazy('assets:system-user-detail', pk=self.object.pk) -# return success_url -# -# -# class PermUserAssetDetailView(AdminUserRequiredMixin, DetailView): -# template_name = 'assets/system_user_detail.html' -# context_object_name = 'system_user' -# model = PermUserAsset -# -# def get_context_data(self, **kwargs): -# context = { -# 'app': _('Assets'), -# 'action': _('System user detail') -# } -# kwargs.update(context) -# return super(PermUserAssetDetailView, self).get_context_data(**kwargs) -# -# -# class PermUserAssetDeleteView(AdminUserRequiredMixin, DeleteView): -# model = PermUserAsset -# template_name = 'assets/delete_confirm.html' -# success_url = 'assets:system-user-list' +class AssetPermissionUpdateView(AdminUserRequiredMixin, UpdateView): + model = AssetPermission + form_class = AssetPermissionForm + template_name = 'perms/asset_permission_create_update.html' + success_message = _('Update asset permission %s successfully.') + + def get_context_data(self, **kwargs): + context = { + 'app': _('Perms'), + 'action': _('Update asset permission') + } + kwargs.update(context) + return super(AssetPermissionUpdateView, self).get_context_data(**kwargs) + + def get_success_url(self): + success_url = reverse_lazy('perms:asset-permission-detail', kwargs={'pk': self.object.pk}) + return success_url + + +class AssetPermissionDetailView(AdminUserRequiredMixin, DetailView): + template_name = 'assets/system_user_detail.html' + context_object_name = 'system_user' + model = AssetPermission + + def get_context_data(self, **kwargs): + context = { + 'app': _('Assets'), + 'action': _('System user detail') + } + kwargs.update(context) + return super(AssetPermissionDetailView, self).get_context_data(**kwargs) + + +class AssetPermissionDeleteView(AdminUserRequiredMixin, DeleteView): + model = AssetPermission + template_name = 'perms/delete_confirm.html' + success_url = reverse_lazy('perms:asset-permission-list')