panels.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:api-django 作者: lafranceinsoumise 项目源码 文件源码
def add_member(self, request, id):
        if not self.has_change_permission(request) or not request.user.has_perm('people.view_person'):
            raise PermissionDenied

        group = self.get_object(request, unquote(id))

        if group is None:
            raise Http404(_("Pas de groupe avec cet identifiant."))

        if request.method == "POST":
            form = AddMemberForm(group, request.POST)

            if form.is_valid():
                membership = form.save()
                messages.success(request, _("{email} a bien été ajouté au groupe").format(email=membership.person.email))

                return HttpResponseRedirect(
                    reverse(
                        '%s:%s_%s_change' % (
                            self.admin_site.name,
                            group._meta.app_label,
                            group._meta.model_name,
                        ),
                        args=(group.pk,),
                    )
                )
        else:
            form = AddMemberForm(group)

        fieldsets = [(None, {'fields': ['person']})]
        admin_form = admin.helpers.AdminForm(form, fieldsets, {})

        context = {
            'title': _('Ajouter un membre au groupe: %s') % escape(group.name),
            'adminform': admin_form,
            'form': form,
            'is_popup': (IS_POPUP_VAR in request.POST or
                         IS_POPUP_VAR in request.GET),
            'opts': self.model._meta,
            'original': group,
            'change': False,
            'add': False,
            'save_as': True,
            'show_save': False,
            'has_delete_permission': False,
            'has_add_permission': False,
            'has_change_permission': True,
            'media': self.media + admin_form.media
        }
        context.update(self.admin_site.each_context(request))

        request.current_app = self.admin_site.name

        return TemplateResponse(
            request,
            'admin/supportgroups/add_member.html',
            context,
        )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号