예제 #1
0
파일: models.py 프로젝트: majo72/mrmap
 def action_buttons(self):
     actions = [LinkButton(url=self.remove_view_uri,
                           content=get_icon(IconEnum.WINDOW_CLOSE),
                           color=ButtonColorEnum.DANGER,
                           tooltip=_("Cancle this task"), )]
     if self.error_report:
         actions.append(LinkButton(url=self.error_report_uri,
                                   content=get_icon(IconEnum.CSW),
                                   color=ButtonColorEnum.WARNING,
                                   tooltip=_("Download the error report as text file."), ))
     return actions
예제 #2
0
 def get_actions(self):
     return [LinkButton(url=self.get_edit_view_url(),
                        content=Tag(tag='i', attrs={"class": [IconEnum.EDIT.value]}).render(),
                        color=ButtonColorEnum.WARNING,
                        size=ButtonSizeEnum.SMALL,
                        tooltip=_l(f"Edit subscription"), ),
             LinkButton(url=self.get_delete_view_url(),
                        content=Tag(tag='i', attrs={"class": [IconEnum.DELETE.value]}).render(),
                        color=ButtonColorEnum.DANGER,
                        size=ButtonSizeEnum.SMALL,
                        tooltip=_l(f"Delete subscription"), )]
예제 #3
0
파일: models.py 프로젝트: majo72/mrmap
    def get_actions(self, request: HttpRequest):
        actions = []
        if not self.is_permission_group:
            edit_icon = Tag(tag='i', attrs={"class": [IconEnum.EDIT.value]}).render()
            st_edit_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=edit_icon).render()
            gt_edit_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']}, content=edit_icon + _(' Edit').__str__()).render()
            actions.append(LinkButton(url=self.edit_view_uri,
                                      content=st_edit_text + gt_edit_text,
                                      color=ButtonColorEnum.WARNING,
                                      tooltip=_(f"Edit <strong>{self.name}</strong>"),
                                      needs_perm=PermissionEnum.CAN_EDIT_GROUP.value))
            delete_icon = Tag(tag='i', attrs={"class": [IconEnum.DELETE.value]}).render()
            st_delete_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=delete_icon).render()
            gt_delete_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']}, content=delete_icon + _(' Delete').__str__()).render()
            actions.append(LinkButton(url=self.remove_view_uri,
                                      content=st_delete_text + gt_delete_text,
                                      color=ButtonColorEnum.DANGER,
                                      tooltip=_(f"Remove <strong>{self.name}</strong>"),
                                      needs_perm=PermissionEnum.CAN_DELETE_GROUP.value))

            if request.user not in self.user_set.all():
                add_user_icon = Tag(tag='i', attrs={"class": [IconEnum.USER_ADD.value]}).render()
                st_add_user_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=add_user_icon).render()
                gt_add_user_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']},
                                       content=delete_icon + _(' become member').__str__()).render()
                actions.append(LinkButton(url=f"{reverse('structure:group_invitation_request_new')}?group={self.pk}&user={request.user.id}",
                                          content=st_add_user_text + gt_add_user_text,
                                          color=ButtonColorEnum.SUCCESS,
                                          tooltip=_(f"Become member of  <strong>{self.name}</strong>")))
            elif self.user_set.count() > 1:
                from MrMap.utils import signal_last
                groups_querystring = "groups"
                groups_excluded_self = request.user.groups.exclude(pk=self.pk)
                if groups_excluded_self:
                    groups_querystring = ""
                    for is_last_element, group in signal_last(groups_excluded_self):
                        if is_last_element:
                            groups_querystring += f"groups={group.pk}"
                        else:
                            groups_querystring += f"groups={group.pk}&"

                leave_icon = Tag(tag='i', attrs={"class": [IconEnum.USER_REMOVE.value]}).render()
                st_leave_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=leave_icon).render()
                gt_leave_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']},
                                    content=delete_icon + _(' leave group').__str__()).render()
                actions.append(LinkButton(
                    url=f"{reverse('edit_profile')}?{groups_querystring}",
                    content=st_leave_text + gt_leave_text,
                    color=ButtonColorEnum.SUCCESS,
                    tooltip=_(f"Become member of  <strong>{self.name}</strong>")))
        return actions
예제 #4
0
파일: models.py 프로젝트: terrestris/mrmap
 def show_pending_requests(self):
     icon = Tag(tag='i', attrs={
         "class": [IconEnum.PUBLISHERS.value]
     }).render()
     count = Badge(
         content=f" {PublishRequest.objects.filter(group=self).count()}",
         color=BadgeColorEnum.SECONDARY).render()
     st_text = Tag(tag='div',
                   attrs={
                       "class": ['d-lg-none']
                   },
                   content=icon + count).render()
     gt_text = Tag(tag='div',
                   attrs={
                       "class": ['d-none', 'd-lg-block']
                   },
                   content=icon + _(' pending requests').__str__() +
                   count).render()
     return LinkButton(
         url=
         f"{reverse('structure:publish_request_overview')}?group={self.pk}",
         content=f"{st_text}{gt_text}",
         color=ButtonColorEnum.INFO,
         tooltip=_(f"see pending requests for {self}"),
         needs_perm=PermissionEnum.CAN_REQUEST_TO_BECOME_PUBLISHER.value)
예제 #5
0
파일: models.py 프로젝트: majo72/mrmap
 def get_add_action(cls):
     icon = Tag(tag='i', attrs={"class": [IconEnum.ADD.value]}).render()
     st_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=icon).render()
     gt_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']},
                   content=icon + _(' new group invitation').__str__()).render()
     return LinkButton(content=st_text + gt_text,
                       color=ButtonColorEnum.SUCCESS,
                       url=reverse('structure:group_invitation_request_new'),
                       needs_perm=PermissionEnum.CAN_ADD_USER_TO_GROUP.value)
예제 #6
0
파일: models.py 프로젝트: majo72/mrmap
 def get_add_action(cls):
     icon = Tag(tag='i', attrs={"class": [IconEnum.ADD.value]}).render()
     st_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=icon).render()
     gt_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']},
                   content=icon + _(' new publisher request').__str__()).render()
     return LinkButton(content=st_text + gt_text,
                       color=ButtonColorEnum.SUCCESS,
                       url=reverse('structure:publish_request_new'),
                       needs_perm=PermissionEnum.CAN_REQUEST_TO_BECOME_PUBLISHER.value)
예제 #7
0
파일: models.py 프로젝트: majo72/mrmap
 def new_publisher_request_action(self):
     add_icon = Tag(tag='i', attrs={"class": [IconEnum.ADD.value]}).render()
     st_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=add_icon).render()
     gt_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']}, content=add_icon + _(' become publisher').__str__()).render()
     return LinkButton(url=self.new_publisher_requesst_uri,
                       content=st_text + gt_text,
                       color=ButtonColorEnum.SUCCESS,
                       tooltip=_("Become rights to publish"),
                       needs_perm=PermissionEnum.CAN_REQUEST_TO_BECOME_PUBLISHER.value)
예제 #8
0
파일: models.py 프로젝트: majo72/mrmap
    def get_actions(self):
        add_icon = Tag(tag='i', attrs={"class": [IconEnum.ADD.value]}).render()
        st_pub_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=add_icon).render()
        gt_pub_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']},
                          content=add_icon + _(' become publisher').__str__()).render()
        edit_icon = Tag(tag='i', attrs={"class": [IconEnum.EDIT.value]}).render()
        st_edit_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=edit_icon).render()
        gt_edit_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']},
                           content=edit_icon + _(' edit').__str__()).render()
        actions = [
            LinkButton(url=f"{reverse('structure:publish_request_new',)}?organization={self.id}",
                       content=st_pub_text + gt_pub_text,
                       color=ButtonColorEnum.SUCCESS,
                       size=ButtonSizeEnum.SMALL,
                       tooltip=format_html(
                           _(f"Become publisher for organization <strong>{self.organization_name} [{self.id}]</strong>")),
                       tooltip_placement=TooltipPlacementEnum.LEFT,
                       needs_perm=PermissionEnum.CAN_REQUEST_TO_BECOME_PUBLISHER.value),
            LinkButton(url=self.edit_view_uri,
                       content=st_edit_text + gt_edit_text,
                       color=ButtonColorEnum.WARNING,
                       size=ButtonSizeEnum.SMALL,
                       tooltip=format_html(_(f"Edit <strong>{self.organization_name} [{self.id}]</strong> organization")),
                       tooltip_placement=TooltipPlacementEnum.LEFT,
                       needs_perm=PermissionEnum.CAN_EDIT_ORGANIZATION.value),
        ]

        if not self.is_auto_generated:
            remove_icon = Tag(tag='i', attrs={"class": [IconEnum.DELETE.value]}).render()
            st_remove_text = Tag(tag='div', attrs={"class": ['d-lg-none']}, content=remove_icon).render()
            gt_remove_text = Tag(tag='div', attrs={"class": ['d-none', 'd-lg-block']},
                                 content=remove_icon + _(' remove').__str__()).render()
            actions.append(LinkButton(url=self.remove_view_uri,
                                      content=st_remove_text + gt_remove_text,
                                      color=ButtonColorEnum.DANGER,
                                      size=ButtonSizeEnum.SMALL,
                                      tooltip=format_html(_(f"Remove <strong>{self.organization_name} [{self.id}]</strong> organization")),
                                      tooltip_placement=TooltipPlacementEnum.LEFT,
                                      needs_perm=PermissionEnum.CAN_DELETE_ORGANIZATION.value))
        return actions
예제 #9
0
 def get_add_action(cls):
     return LinkButton(content=Tag(tag='i', attrs={"class": [IconEnum.ADD.value]}) + _(' New run').__str__(),
                       color=ButtonColorEnum.SUCCESS,
                       url=reverse('monitoring:run_new'),
                       needs_perm=PermissionEnum.CAN_RUN_MONITORING.value)
예제 #10
0
파일: models.py 프로젝트: majo72/mrmap
 def get_add_action(cls):
     return LinkButton(content=get_icon(IconEnum.ADD) + _(' New group').__str__(),
                       color=ButtonColorEnum.SUCCESS,
                       url=reverse('structure:group_new'),
                       needs_perm=PermissionEnum.CAN_EDIT_GROUP.value)