Exemplo n.º 1
0
    def manage_roles(self, request):

        formset_class = self._get_roles_formset_class()

        if request.method == 'POST':

            formset = formset_class(request, request.POST)
            
            if formset.is_valid():
                with transaction.commit_on_success():
                    for form in formset:
                        # Check for data: empty formsets are full of empty data ;)
                        if form.cleaned_data:
                            form.save()
                return self.response_success()
        else:

            data = {}
            roles = self.resource.roles

            # Roles already assigned to resource
            pprrs = PrincipalParamRoleRelation.objects.filter(role__in=roles)

            i = 0
            for i,pprr in enumerate(pprrs):

                key_prefix = 'form-%d' % i
                data.update({
                   '%s-id' % key_prefix : pprr.pk,
                   '%s-person' % key_prefix : pprr.user.person.pk,
                   '%s-role' % key_prefix : pprr.role.pk,
                })

            data['form-TOTAL_FORMS'] = i + formset_class.extra
            data['form-INITIAL_FORMS'] = i
            data['form-MAX_NUM_FORMS'] = 0

            formset = formset_class(request, data)

        context = {

            "formset": formset,
            'opts' : PrincipalParamRoleRelation._meta,
            'is_popup': False,
            'save_as' : False,
            'save_on_top': False,
            #'errors': helpers.AdminErrorList(form, []),
            #'media': mark_safe(adminForm.media),
            'form_url' : request.build_absolute_uri(),
            'add'  : False,
            'change' : True,
            'has_add_permission': False,
            'has_delete_permission': True,
            'has_change_permission': True,
            'show_delete' : True,

        }

        return render_to_context_response(request, "html/formsets.html", context)
Exemplo n.º 2
0
    def manage_roles(self, request):
        """This method is needed to filter out GAS_MEMBER roles"""

        formset_class = self._get_roles_formset_class()

        if request.method == 'POST':
            return super(Block, self).manage_roles(request)

        else:

            data = {}
            roles = self.resource.roles

            # HACK HERE
            # Exclude GAS_MEMBER role which is managed by "Add gasmember" action
            roles = roles.exclude(role__name=GAS_MEMBER)

            # Roles already assigned to resource
            pprrs = PrincipalParamRoleRelation.objects.filter(role__in=roles)

            i = 0
            for i,pprr in enumerate(pprrs):

                key_prefix = 'form-%d' % i
                data.update({
                   '%s-id' % key_prefix : pprr.pk,
                   '%s-person' % key_prefix : pprr.user.person.pk,
                   '%s-role' % key_prefix : pprr.role.pk,
                })

            data['form-TOTAL_FORMS'] = i + formset_class.extra
            data['form-INITIAL_FORMS'] = i
            data['form-MAX_NUM_FORMS'] = 0

            formset = formset_class(request, data)

        context = {

            "formset": formset,
            'opts' : PrincipalParamRoleRelation._meta,
            'is_popup': False,
            'save_as' : False,
            'save_on_top': False,
            #'errors': helpers.AdminErrorList(form, []),
            #'media': mark_safe(adminForm.media),
            'form_url' : request.build_absolute_uri(),
            'add'  : False,
            'change' : True,
            'has_add_permission': False,
            'has_delete_permission': True,
            'has_change_permission': True,
            'show_delete' : True,

        }

        return render_to_context_response(request, "html/formsets.html", context)
Exemplo n.º 3
0
    def _add_resource(self, request):

        form_class = self._get_add_form_class()
        if request.method == 'POST':

            form = form_class(request, request.POST)
            if form.is_valid():
                form.save()
                return self.response_success()

            else:
                try:
                    #TODO-not-a-priority fero
                    form.write_down_messages()
                except AttributeError as e:
                    log.warning(
                        'Refactory needed: calling non-existent write_down_messages on form_class=%s'
                        % form_class)
                    pass  #don't worry for this exception...
        else:
            form = form_class(request)
            try:
                #TODO-not-a-priority fero
                form.write_down_messages()
            except AttributeError as e:
                log.warning(
                    'Refactory needed: calling non-existent write_down_messages on form_class=%s'
                    % form_class)
                pass  #don't worry for this exception...

        fields = form.base_fields.keys()
        fieldsets = form_class.Meta.gf_fieldsets
        adminForm = helpers.AdminForm(form, fieldsets, {})

        context = {
            'form': form,
            'adminform': adminForm,
            'opts': form._meta.model._meta,
            'add': True,
            'change': False,
            'is_popup': False,
            'save_as': False,
            'save_on_top': False,
            'has_add_permission': True,
            'has_delete_permission': True,
            'has_change_permission': False,
            'show_delete': False,
            'errors': helpers.AdminErrorList(form, []),
            'media': mark_safe(adminForm.media),
        }

        return render_to_context_response(request, self.TEMPLATE_ADD_FORM,
                                          context)
Exemplo n.º 4
0
def index(request):
    """ main entrance page """
    ctx = {
        'VERSION': settings.VERSION,
        'INSTALLED_APPS': settings.INSTALLED_APPS,
        'LOGOUT_URL' : settings.LOGOUT_URL,
        'THEME' : settings.THEME,
        'MEDIA_URL' : settings.MEDIA_URL,
        'ADMIN_MEDIA_PREFIX' : settings.ADMIN_MEDIA_PREFIX
    }
    log.debug("before render_to_ctx")
    return render_to_context_response(request, "html/index.html", ctx)
Exemplo n.º 5
0
    def _add_resource(self, request):

        form_class = self._get_add_form_class()
        if request.method == 'POST':

            form = form_class(request, request.POST)
            if form.is_valid():
                form.save()
                return self.response_success()
                
            else:
                try:
                    #TODO-not-a-priority fero
                    form.write_down_messages()
                except AttributeError as e:
                    log.warning('Refactory needed: calling non-existent write_down_messages on form_class=%s' % form_class)
                    pass #don't worry for this exception...
        else:
            form = form_class(request)
            try:
                #TODO-not-a-priority fero
                form.write_down_messages()
            except AttributeError as e:
                log.warning('Refactory needed: calling non-existent write_down_messages on form_class=%s' % form_class)
                pass #don't worry for this exception...

        fields = form.base_fields.keys()
        fieldsets = form_class.Meta.gf_fieldsets
        adminForm = helpers.AdminForm(form, fieldsets, {}) 

        context = {
            'form' : form,
            'adminform' : adminForm,
            'opts' : form._meta.model._meta,
            'add'  : True,
            'change' : False,
            'is_popup': False,
            'save_as' : False,
            'save_on_top': False,
            'has_add_permission': True,
            'has_delete_permission': True,
            'has_change_permission': False,
            'show_delete' : False,
            'errors': helpers.AdminErrorList(form, []),
            'media': mark_safe(adminForm.media),
        }

        return render_to_context_response(request, self.TEMPLATE_ADD_FORM, context)
Exemplo n.º 6
0
def index(request):
    """ main entrance page """
    if request.logged_user.is_superuser:
        all_users = User.objects.all().select_related().order_by('username')
    else:
        all_users = []

    ctx = {
        'VERSION': settings.VERSION,
        'INSTALLED_APPS': settings.INSTALLED_APPS,
        'LOGOUT_URL' : settings.LOGOUT_URL,
        'THEME' : settings.THEME,
        'MEDIA_URL' : settings.MEDIA_URL,
        'ADMIN_MEDIA_PREFIX' : settings.ADMIN_MEDIA_PREFIX,
        'logged_user' : request.logged_user,
        'all_users' : all_users,
    }
    log.debug("before render_to_ctx")
    return render_to_context_response(request, "html/index.html", ctx)
Exemplo n.º 7
0
def index(request):
    """ main entrance page """
    if request.logged_user.is_superuser:
        all_users = User.objects.all().select_related().order_by('username')
    else:
        all_users = []

    ctx = {
        'VERSION': settings.VERSION,
        'INSTALLED_APPS': settings.INSTALLED_APPS,
        'LOGOUT_URL': settings.LOGOUT_URL,
        'THEME': settings.THEME,
        'MEDIA_URL': settings.MEDIA_URL,
        'ADMIN_MEDIA_PREFIX': settings.ADMIN_MEDIA_PREFIX,
        'logged_user': request.logged_user,
        'all_users': all_users,
    }
    log.debug("before render_to_ctx")
    return render_to_context_response(request, "html/index.html", ctx)
Exemplo n.º 8
0
    def __change_password(self, request):

        user = self.resource.user
        if request.method == "POST":
            form = self.change_password_form(user, request.POST)
            if form.is_valid():
                new_user = form.save()
                msg = _("Password changed successfully.")
                messages.success(request, msg)
                return self.response_success()
        else:
            form = self.change_password_form(user)

        fields = form.base_fields.keys()
        fieldsets = [(None, {"fields": form.base_fields.keys()})]
        adminForm = helpers.AdminForm(form, fieldsets, {})

        context = {
            "title": _("Change password: %s") % escape(user.username),
            "form": form,
            "adminform": adminForm,
            "opts": user.__class__._meta,
            "add": False,
            "change": True,
            "is_popup": False,
            "save_as": False,
            "save_on_top": False,
            "has_add_permission": False,
            "has_delete_permission": False,
            "has_change_permission": True,
            "show_delete": False,
            "errors": helpers.AdminErrorList(form, []),
        }

        return render_to_context_response(
            request,
            #'admin/auth/user/change_password.html',
            "html/admin_form.html",
            context,
        )
Exemplo n.º 9
0
    def __change_password(self, request):

        user = self.resource.user
        if request.method == 'POST':
            form = self.change_password_form(user, request.POST)
            if form.is_valid():
                new_user = form.save()
                msg = _('Password changed successfully.')
                messages.success(request, msg)
                return self.response_success()
        else:
            form = self.change_password_form(user)

        fields = form.base_fields.keys()
        fieldsets = [(None, {'fields': form.base_fields.keys()})]
        adminForm = helpers.AdminForm(form, fieldsets, {}) 

        context = {
            'title': _('Change password: %s') % escape(user.username),
            'form' : form,
            'adminform' : adminForm,
            'opts' : user.__class__._meta,
            'add'  : False,
            'change' : True,
            'is_popup': False,
            'save_as' : False,
            'save_on_top': False,
            'has_add_permission': False,
            'has_delete_permission': False,
            'has_change_permission': True,
            'show_delete' : False,
            'errors': helpers.AdminErrorList(form, []),
        }

        return render_to_context_response(request, 
            #'admin/auth/user/change_password.html', 
            "html/admin_form.html", 
            context
        )
Exemplo n.º 10
0
    def __change_password(self, request):

        user = self.resource.user
        if request.method == 'POST':
            form = self.change_password_form(user, request.POST)
            if form.is_valid():
                new_user = form.save()
                msg = _('Password changed successfully.')
                messages.success(request, msg)
                return self.response_success()
        else:
            form = self.change_password_form(user)

        fields = form.base_fields.keys()
        fieldsets = [(None, {'fields': form.base_fields.keys()})]
        adminForm = helpers.AdminForm(form, fieldsets, {})

        context = {
            'title': _('Change password: %s') % escape(user.username),
            'form': form,
            'adminform': adminForm,
            'opts': user.__class__._meta,
            'add': False,
            'change': True,
            'is_popup': False,
            'save_as': False,
            'save_on_top': False,
            'has_add_permission': False,
            'has_delete_permission': False,
            'has_change_permission': True,
            'show_delete': False,
            'errors': helpers.AdminErrorList(form, []),
        }

        return render_to_context_response(
            request,
            #'admin/auth/user/change_password.html',
            "html/admin_form.html",
            context)
Exemplo n.º 11
0
    def manage_roles(self, request):

        formset_class = self._get_roles_formset_class()

        if request.method == 'POST':

            formset = formset_class(request, request.POST)

            if formset.is_valid():
                with transaction.commit_on_success():
                    for form in formset:
                        # Check for data: empty formsets are full of empty data ;)
                        if form.cleaned_data:
                            form.save()
                return self.response_success()
        else:

            data = {}
            roles = self.resource.roles

            # HACK HERE
            # Exclude GAS_MEMBER role which is managed by "Add gasmember" action
            # ...it could be excluded everytime, even if resource_type is not "gas"...
            if self.resource.resource_type == "gas":
                roles = roles.exclude(role__name=GAS_MEMBER)

            # Roles already assigned to resource
            pprrs = PrincipalParamRoleRelation.objects.filter(role__in=roles)

            i = 0
            for i, pprr in enumerate(pprrs):

                key_prefix = 'form-%d' % i
                data.update({
                    '%s-id' % key_prefix: pprr.pk,
                    '%s-person' % key_prefix: pprr.user.person.pk,
                    '%s-role' % key_prefix: pprr.role.pk,
                })

            data['form-TOTAL_FORMS'] = i + formset_class.extra
            data['form-INITIAL_FORMS'] = i
            data['form-MAX_NUM_FORMS'] = 0

            formset = formset_class(request, data)

        context = {
            "formset": formset,
            'opts': PrincipalParamRoleRelation._meta,
            'is_popup': False,
            'save_as': False,
            'save_on_top': False,
            #'errors': helpers.AdminErrorList(form, []),
            #'media': mark_safe(adminForm.media),
            'form_url': request.build_absolute_uri(),
            'add': False,
            'change': True,
            'has_add_permission': False,
            'has_delete_permission': True,
            'has_change_permission': True,
            'show_delete': True,
        }

        return render_to_context_response(request, "html/formsets.html",
                                          context)