def build_user_button(self): menu_items = [ self.build_new_order_button(), DropdownDivider(), self.build_new_user_button(), self.build_renew_password_button(), DropdownDivider(), self.build_deactivate_button(), ] self.append( DropdownActionButton(menu_items, icon="fa fa-user", text=_(u"Options"), extra_css_class="btn-info"))
def _build_existing_user(self): user = self.user change_password_button = DropdownItem(url=reverse( "shuup_admin:user.change-password", kwargs={"pk": user.pk}), text=_(u"Change Password"), icon="fa fa-exchange") reset_password_button = DropdownItem( url=reverse("shuup_admin:user.reset-password", kwargs={"pk": user.pk}), disable_reason=(_("User has no email address") if not getattr(user, 'email', '') else None), text=_(u"Send Password Reset Email"), icon="fa fa-envelope") permissions_button = DropdownItem( url=reverse("shuup_admin:user.change-permissions", kwargs={"pk": user.pk}), text=_(u"Edit Permissions"), icon="fa fa-lock", required_permissions=["auth.change_permission"]) menu_items = [ change_password_button, reset_password_button, permissions_button, DropdownDivider() ] person_contact = PersonContact.objects.filter(user=user).first() if person_contact: contact_url = reverse("shuup_admin:contact.detail", kwargs={"pk": person_contact.pk}) menu_items.append( DropdownItem( url=contact_url, icon="fa fa-search", text=_(u"Contact Details"), )) else: contact_url = reverse("shuup_admin:contact.new" ) + "?type=person&user_id=%s" % user.pk menu_items.append( DropdownItem( url=contact_url, icon="fa fa-plus", text=_(u"New Contact"), tooltip=_( "Create a new contact and associate it with this user") )) self.append( DropdownActionButton( menu_items, icon="fa fa-star", text=_(u"Actions"), extra_css_class="btn-info", )) if not user.is_active: self.append( PostActionButton( post_url=self.request.path, name="set_is_active", value="1", icon="fa fa-check-circle", text=_(u"Activate User"), extra_css_class="btn-gray", )) else: self.append( PostActionButton( post_url=self.request.path, name="set_is_active", value="0", icon="fa fa-times-circle", text=_(u"Deactivate User"), extra_css_class="btn-gray", )) if (self.request.user.is_superuser and get_front_url() and user.is_active and not user.is_superuser and not user.is_staff): self.append( PostActionButton(post_url=reverse("shuup_admin:user.login-as", kwargs={"pk": user.pk}), text=_(u"Login as User"), extra_css_class="btn-gray"))
def _get_header_items(self, header, divider=True, identifier=None): if divider: yield DropdownDivider() yield DropdownHeader(text=header, identifier=identifier)
def _get_header_item(self, header): yield DropdownDivider() yield DropdownHeader(text=header)