Beispiel #1
0
    def get_toolbar(self):
        order = self.object
        if order.is_canceled():
            return
        toolbar = Toolbar()
        toolbar.append(URLActionButton(
            text=_("Create Payment"),
            icon="fa fa-money",
            disable_reason=_("This order cannot be paid at this point") if order.is_paid() else None,
            url=reverse("shoop_admin:order.create-payment", kwargs={"pk": order.pk}),
            extra_css_class="btn-info"
        ))

        toolbar.append(URLActionButton(
            text=_("Create Shipment"),
            icon="fa fa-truck",
            disable_reason=_("There are no products to ship") if not order.get_unshipped_products() else None,
            url=reverse("shoop_admin:order.create-shipment", kwargs={"pk": order.pk}),
            extra_css_class="btn-info"
        ))

        toolbar.append(PostActionButton(
            post_url=reverse("shoop_admin:order.set-status", kwargs={"pk": order.pk}),
            name="status",
            value=OrderStatus.objects.get_default_complete().pk,
            text=_("Set Complete"),
            icon="fa fa-check-circle",
            disable_reason=(
                _("This order can not be set as complete at this point")
                if not order.can_set_complete()
                else None
            ),
            extra_css_class="btn-success"
        ))

        toolbar.append(PostActionButton(
            post_url=reverse("shoop_admin:order.set-status", kwargs={"pk": order.pk}),
            name="status",
            value=OrderStatus.objects.get_default_canceled().pk,
            text=_("Cancel Order"),
            icon="fa fa-trash",
            disable_reason=(
                _("Paid, shipped, or canceled orders cannot be canceled")
                if not order.can_set_canceled()
                else None
            ),
            extra_css_class="btn-danger btn-inverse"
        ))
        toolbar.append(URLActionButton(
            text=_("Edit order"),
            icon="fa fa-money",
            disable_reason=_("This order cannot modified at this point") if not order.can_edit() else None,
            url=reverse("shoop_admin:order.edit", kwargs={"pk": order.pk}),
            extra_css_class="btn-info"
        ))

        for button in get_provide_objects("admin_order_toolbar_button"):
            toolbar.append(button(order))

        return toolbar
Beispiel #2
0
    def get_toolbar(self):
        order = self.object
        toolbar = Toolbar()
        toolbar.append(
            URLActionButton(text=_("Create Shipment"),
                            icon="fa fa-truck",
                            disable_reason=_("There are no products to ship")
                            if not order.get_unshipped_products() else None,
                            url=reverse("shoop_admin:order.create-shipment",
                                        kwargs={"pk": order.pk}),
                            extra_css_class="btn-info"))

        toolbar.append(
            PostActionButton(
                post_url=reverse("shoop_admin:order.set-status",
                                 kwargs={"pk": order.pk}),
                name="status",
                value=OrderStatus.objects.get_default_complete().pk,
                text=_("Set Complete"),
                icon="fa fa-check-circle",
                disable_reason=(
                    _("This order can not be set as complete at this point")
                    if not order.can_set_complete() else None),
                extra_css_class="btn-success"))

        # TODO: Add extensibility to action_button_groups?
        return toolbar
Beispiel #3
0
    def get_context_data(self, **kwargs):
        context = super(AddonListView, self).get_context_data(**kwargs)
        context["toolbar"] = Toolbar([
            PostActionButton(
                icon="fa fa-save",
                form_id="addon_list",
                text=_("Save addon changes"),
                extra_css_class="btn-success",
            ),
            NewActionButton(
                reverse("shoop_admin:addon.upload"),
                text=_("Upload new addon"),
                extra_css_class="btn-info",
                icon="fa fa-upload",
            )
        ])
        if self.request.GET.get("reload"):
            context["toolbar"].append(
                URLActionButton(
                    reverse("shoop_admin:addon.reload"),
                    text=_("Reload application"),
                    extra_css_class="btn-warning",
                    icon="fa fa-refresh",
                ))

        return context
Beispiel #4
0
 def get_toolbar(self):
     return Toolbar([
         URLActionButton(
             text="New Script", icon="fa fa-plus", extra_css_class="btn-success",
             url=reverse("shoop_admin:notify.script.new")
         )
     ])
Beispiel #5
0
 def build_new_order_button(self):
     self.append(
         URLActionButton(url=reverse("shoop_admin:order.new") +
                         "?contact_id=%s" % self.contact.pk,
                         text=_(u"New Order"),
                         tooltip=_(u"Create an order for the contact."),
                         icon="fa fa-plus",
                         extra_css_class="btn-success"))
Beispiel #6
0
 def get_toolbar(self):
     toolbar = super(ReservationsAdminList, self).get_toolbar()
     toolbar.append(URLActionButton(
         text=_("New Reservation"),
         icon="fa fa-calendar",
         url=reverse("shoop_admin:reservations.new"),
     ))
     return toolbar
Beispiel #7
0
 def get_toolbar(self):
     toolbar = super(PeriodPricingModifierListView, self).get_toolbar()
     toolbar.append(
         URLActionButton(
             text=_("New modifier"),
             icon="fa fa-money",
             url=reverse("reservable_pricing:modifiers.new"),
         ))
     return toolbar
Beispiel #8
0
 def build(self):
     self.append(URLActionButton(
         url=reverse("shoop_admin:contact.edit", kwargs={"pk": self.contact.pk}),
         icon="fa fa-pencil",
         text=_(u"Edit..."),
         extra_css_class="btn-info",
     ))
     self.build_renew_password_button()
     self.build_new_user_button()
Beispiel #9
0
 def get_toolbar(self):
     toolbar = super(ReservationEditView, self).get_toolbar()
     if self.object and self.object.order_line:
         toolbar.append(URLActionButton(
             text=_("View Order"),
             icon="fa fa-inbox",
             url=reverse("shoop_admin:order.detail", kwargs={"pk": self.object.order_line.order.pk}),
         ))
     return toolbar
Beispiel #10
0
 def build_new_user_button(self):
     if self.user:
         return
     self.append(URLActionButton(
         url=reverse("shoop_admin:user.new") + "?contact_id=%s" % self.contact.pk,
         text=_(u"New User"),
         tooltip=_(u"Create an user for the contact."),
         icon="fa fa-star",
         extra_css_class="btn-gray btn-inverse",
     ))
Beispiel #11
0
 def get_context_data(self, **kwargs):
     context = super(ScriptEditView, self).get_context_data(**kwargs)
     if self.object.pk:
         context["toolbar"] = Toolbar([
             URLActionButton(text=_(u"Edit Script Contents..."),
                             icon="fa fa-pencil",
                             extra_css_class="btn-info",
                             url=reverse(
                                 "shoop_admin:notify.script.edit-content",
                                 kwargs={"pk": self.object.pk}))
         ])
     return context
Beispiel #12
0
    def get_toolbar(self):
        product = self.object
        toolbar = get_default_edit_toolbar(
            self, "product_form", delete_url="shoop_admin:product.delete")
        if product.pk:
            toolbar.append(
                URLActionButton(text=_("Manage Product Media"),
                                icon="fa fa-picture-o",
                                url=reverse("shoop_admin:product.edit_media",
                                            kwargs={"pk": product.pk}),
                                extra_css_class="btn-info"))

        # TODO: Add extensibility

        return toolbar
Beispiel #13
0
    def build_detail_button(self, method):
        disable_reason = None
        try:
            if not method.module.admin_detail_view_class:
                disable_reason = _(
                    "The selected module has no details to configure")
        except ModuleNotFound:
            disable_reason = _(
                "The selected module is not currently available")

        self.append(
            URLActionButton(
                url=reverse("shoop_admin:%s.edit-detail" %
                            self.view_object.action_url_name_prefix,
                            kwargs={"pk": method.pk}),
                text=_("Edit Details"),
                icon="fa fa-pencil",
                extra_css_class="btn-info",
                disable_reason=disable_reason))
Beispiel #14
0
    def get_toolbar(self):
        save_form_id = self.get_save_form_id()
        object = self.get_object()
        delete_url = reverse_lazy("shoop_admin:service_provider.delete",
                                  kwargs={"pk": object.pk})
        toolbar = get_default_edit_toolbar(self,
                                           save_form_id,
                                           delete_url=delete_url)
        if self.object.pk:
            toolbar.append(
                URLActionButton(text=_("Create {service_name}").format(
                    service_name=self.object.service_model._meta.verbose_name),
                                icon="fa fa-plus",
                                url="{model_url}?provider={id}".format(
                                    model_url=get_model_url(
                                        self.object.service_model, "new"),
                                    id=self.object.id),
                                extra_css_class="btn-info"))

        return toolbar