def _build_existing_product(self): product = self.product # :type product: shoop.core.models.Product media_button = DropdownItem( text=_("Manage Media"), icon="fa fa-picture-o", url=reverse("shoop_admin:product.edit_media", kwargs={"pk": product.pk}), ) cross_sell_button = DropdownItem( text=_("Manage Cross-Selling"), icon="fa fa-random", url=reverse("shoop_admin:product.edit_cross_sell", kwargs={"pk": product.pk}), ) menu_items = [ DropdownHeader(text=_("Media")), media_button, DropdownDivider(), DropdownHeader(text=_("Cross-Selling")), cross_sell_button ] for item in self._get_variation_and_package_menu_items(product): menu_items.append(item) self.append( DropdownActionButton( menu_items, icon="fa fa-star", text=_(u"Actions"), extra_css_class="btn-info", ))
def _build_existing_user(self): user = self.user change_password_button = DropdownItem(url=reverse( "shoop_admin:user.change-password", kwargs={"pk": user.pk}), text=_(u"Change Password"), icon="fa fa-exchange") reset_password_button = DropdownItem( url=reverse("shoop_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( "shoop_admin:user.change-permissions", kwargs={"pk": user.pk}), text=_(u"Edit Permissions"), icon="fa fa-lock") 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("shoop_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( "shoop_admin:contact.new") + "?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", ))