class MacroGroupUpdateView(UpdateView): """ Update view """ model = MacroGroup form_class = MacroGroupForm @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, request, *args, **kwargs): return super(MacroGroupUpdateView, self).dispatch(request, *args, **kwargs) def form_valid(self, form): res = super(MacroGroupUpdateView, self).form_valid(form) # delete tempory file form files form.delete_temporary_files() return res def get_form_kwargs(self): kwargs = super(MacroGroupUpdateView, self).get_form_kwargs() editor_users = get_users_for_object(self.object, 'view_macrogroup', [G3W_EDITOR1]) kwargs['initial']['editor_users'] = [o.id for o in editor_users] return kwargs def get_success_url(self): return reverse('macrogroup-list')
class FilemanagerServeConfigView(View): """ Filemanager main config view Return main RichFileManager json config settings. """ @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(FilemanagerServeConfigView, self).dispatch(*args, **kwargs) def get(self, request, *args, **kwargs): path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static/RichFilemanager/config/') file = open('{}{}'.format(path, kwargs['file_js']), 'r') config = json.load(file) file.close() # get current language config['language']['default'] = request.LANGUAGE_CODE # set upload property if hasattr(settings, 'FILEMANAGER_MAX_UPLOAD_N_FILES'): config['upload'][ 'maxNumberOfFiles'] = settings.FILEMANAGER_MAX_UPLOAD_N_FILES # set site_prefix_url if is set site_prefix_url = getattr(settings, 'SITE_PREFIX_URL', None) if site_prefix_url: config['api']['connectorUrl'] = '/{}filemanager/api/files/'.format( site_prefix_url) else: config['api']['connectorUrl'] = '/filemanager/api/files/' return JsonResponse(config)
class MacroGroupDeleteView(G3WAjaxDeleteViewMixin, SingleObjectMixin, View): ''' Delete macrogroup Ajax view ''' model = MacroGroup @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(MacroGroupDeleteView, self).dispatch(*args, **kwargs)
class MacroGroupDetailView(G3WRequestViewMixin, DetailView): """ Macrogroup Detail view. """ model = MacroGroup template_name = 'core/ajax/macrogroup_detail.html' @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(MacroGroupDetailView, self).dispatch(*args, **kwargs)
class MacroGroupListView(ListView): """ List macrogroup view """ model = MacroGroup @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, request, *args, **kwargs): return super(MacroGroupListView, self).dispatch(request, *args, **kwargs)
class MacroGroupSetOrderView(G3WAjaxSetOrderViewMixin, View): ''' Set order view list macrogroups ''' model = MacroGroup # only user with change_group for this group can change overview map. # @method_decorator(permission_required('core.change_group', (Group, 'id', 'group_id'), return_403=True)) @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(MacroGroupSetOrderView, self).dispatch(*args, **kwargs)
class MacroGroupListView(ListView): """ List macrogroup view """ model = MacroGroup @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, request, *args, **kwargs): return super(MacroGroupListView, self).dispatch(request, *args, **kwargs) def get_queryset(self): return MacroGroup.objects.all().order_by('order')
class GeneralSuiteDataUpdateView(UpdateView): """Create group view.""" model = GeneralSuiteData form_class = GeneralSuiteDataForm @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(GeneralSuiteDataUpdateView, self).dispatch(*args, **kwargs) def get_object(self, queryset=None): return self.model.objects.get() def get_success_url(self): return reverse('home')
class FilemanagerView(TemplateView): """Main templateview for fielmanager""" template_name = 'filemanager/filemanager.html' @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(FilemanagerView, self).dispatch(*args, **kwargs) def get_context_data(self, **kwargs): cdata = super(FilemanagerView, self).get_context_data(**kwargs) # add title cdata['page_title'] = getattr(settings, 'G3WSUITE_CUSTOM_TITLE', 'G3W-SUITE FileManager') return cdata
class GroupSetOrderView(View): ''' Set order view list groups ''' # only user with change_group for this group can change overview map. #@method_decorator(permission_required('core.change_group', (Group, 'id', 'group_id'), return_403=True)) @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(GroupSetOrderView, self).dispatch(*args, **kwargs) def post(self, *args, **kwargs): # get new order save value for group new_order = self.request.POST.getlist('new_order[]') for oindex, gid in enumerate(new_order): Group.objects.get(pk=gid[6:]).to(oindex + 1) return JsonResponse({'Saved': 'ok'})
class ProjectSetOrderView(View): ''' Set order view list projects ''' model = Project # only user with change_group for this group can change overview map. @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super().dispatch(*args, **kwargs) def post(self, *args, **kwargs): # get new order save value for group new_order = self.request.POST.getlist('new_order[]') for oindex, gid in enumerate(new_order): p = self.model.objects.get(pk=gid.split('_')[1]) p.order = oindex p.save() return JsonResponse({'Saved': 'ok'})
class MacroGroupCreateView(CreateView): """ Create macrogroup view """ model = MacroGroup form_class = MacroGroupForm @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, *args, **kwargs): return super(MacroGroupCreateView, self).dispatch(*args, **kwargs) #def get_initial(self): #return {'mapcontrols': MapControl.objects.all()} def get_success_url(self): return reverse('macrogroup-list') def form_valid(self, form): res = super(MacroGroupCreateView, self).form_valid(form) # delete tempory file form files form.delete_temporary_files() return res
class MacroGroupUpdateView(UpdateView): """ Update view """ model = MacroGroup form_class = MacroGroupForm @method_decorator(user_passes_test_or_403(lambda u: u.is_superuser)) def dispatch(self, request, *args, **kwargs): return super(MacroGroupUpdateView, self).dispatch(request, *args, **kwargs) def form_valid(self, form): res = super(MacroGroupUpdateView, self).form_valid(form) # delete tempory file form files form.delete_temporary_files() return res def get_success_url(self): if self.request.session.get('http_referer', False): return self.request.session['http_referer'] return reverse('macrogroup-list')