Esempio n. 1
0
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')
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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')
Esempio n. 8
0
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')
Esempio n. 9
0
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
Esempio n. 10
0
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'})
Esempio n. 11
0
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'})
Esempio n. 12
0
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
Esempio n. 13
0
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')