예제 #1
0
 def register_blueprint(self):
     return Link('+addspec',
                 'Register a blueprint',
                 site='blueprints',
                 icon='blueprints',
                 enabled=service_uses_launchpad(
                     self.pillar.blueprints_usage))
 def edit_bug_mail(self):
     text = 'Edit bug mail'
     return Link('+subscriptions',
                 text,
                 icon='edit',
                 site='bugs',
                 enabled=self._enabled)
예제 #3
0
 def help_translate(self):
     return Link('',
                 'Help translate',
                 site='translations',
                 icon='translations',
                 enabled=service_uses_launchpad(
                     self.pillar.translations_usage))
    def subscribe(self):
        """The subscribe menu link.

        If the user, or any of the teams they're a member of, already has a
        subscription to the context, the link offers to edit the subscriptions
        and displays the edit icon. Otherwise, the link offers to subscribe
        and displays the add icon.
        """
        sst = self._getSST()

        if sst.userHasBugSubscriptions(self.user):
            text = 'Edit bug mail subscription'
            icon = 'edit'
        else:
            text = 'Subscribe to bug mail'
            icon = 'add'
        # ProjectGroup milestones aren't really structural subscription
        # targets as they're not real milestones, so you can't subscribe to
        # them.
        if (not IProjectGroupMilestone.providedBy(sst)
                and sst.userCanAlterBugSubscription(self.user, self.user)):
            enabled = True
        else:
            enabled = False

        return Link('+subscribe', text, icon=icon, enabled=enabled)
예제 #5
0
 def create_release(self):
     """The link to create a release for this milestone."""
     text = 'Create release'
     summary = 'Create a release from this milestone'
     # Releases only exist for products.
     # A milestone can only have a single product release.
     enabled = (IProduct.providedBy(self.context.target)
                and self.context.product_release is None)
     return Link('+addrelease', text, summary, icon='add', enabled=enabled)
예제 #6
0
 def reportedbugs(self):
     text = 'Reported bugs'
     summary = 'Bugs reported by %s.' % self.context.displayname
     enabled = not self.context.is_team
     return Link('+reportedbugs',
                 text,
                 site='bugs',
                 summary=summary,
                 enabled=enabled)
예제 #7
0
 def affectingbugs(self):
     text = 'Affecting bugs'
     summary = ('Bugs affecting %s.' % self.context.displayname)
     enabled = not self.context.is_team
     return Link('+affectingbugs',
                 text,
                 site='bugs',
                 summary=summary,
                 enabled=enabled)
 def subscribe_to_bug_mail(self):
     text = 'Subscribe to bug mail'
     # Clicks to this link will be intercepted by the on-page JavaScript,
     # but we want a link target for non-JS-enabled browsers.
     return Link('+subscribe',
                 text,
                 icon='add',
                 hidden=True,
                 enabled=self._enabled)
예제 #9
0
 def commentedbugs(self):
     text = 'Commented bugs'
     summary = ('Bug reports on which %s has commented.' %
                self.context.displayname)
     enabled = not self.context.is_team
     return Link('+commentedbugs',
                 text,
                 site='bugs',
                 summary=summary,
                 enabled=enabled)
예제 #10
0
 def delete(self):
     """The link to delete this milestone."""
     text = 'Delete milestone'
     # ProjectMilestones are virtual.
     enabled = not IProjectGroupMilestone.providedBy(self.context)
     summary = "Delete milestone"
     return Link('+delete',
                 text,
                 icon='trash-icon',
                 summary=summary,
                 enabled=enabled)
예제 #11
0
 def edit(self):
     """The link to edit this milestone."""
     text = 'Change details'
     # ProjectMilestones are virtual milestones and do not have
     # any properties which can be edited.
     enabled = not IProjectGroupMilestone.providedBy(self.context)
     summary = "Edit this milestone"
     return Link('+edit',
                 text,
                 icon='edit',
                 summary=summary,
                 enabled=enabled)
 def publishing_history(self):
     text = 'View full publishing history'
     return Link('+publishinghistory', text, icon="info")
 def gethelp(self):
     return Link('+gethelp', 'Help and support options', icon='info')
 def open_questions(self):
     base_path = "+questions"
     get_data = "?field.status=OPEN"
     return Link(base_path + get_data, "Open Questions", site="answers")
 def new_bugs(self):
     base_path = "+bugs"
     get_data = "?field.status:list=NEW"
     return Link(base_path + get_data, "New bugs", site="bugs")
 def edit(self):
     """Edit the details of this source package."""
     # This is titled "Edit bug reporting guidelines" because that
     # is the only editable property of a source package right now.
     return Link('+edit', 'Configure bug tracker', icon='edit')
예제 #17
0
 def edit(self):
     text = 'Modify announcement'
     return Link('+edit', text, icon='edit')
 def new(self):
     """Return a link to register a blueprint."""
     text = 'Register a blueprint'
     return Link('+addspec', text, icon='add')
 def bugs(self):
     text = 'Bugs'
     summary = u'Bugs reported about {0}'.format(self.context.displayname)
     return Link('', text, summary)
 def overview(self):
     text = 'Overview'
     summary = u'General information about {0}'.format(
         self.context.displayname)
     return Link('', text, summary)
예제 #21
0
 def announce(self):
     text = 'Make announcement'
     summary = 'Create an item of news for this project'
     return Link('+announce', text, summary, icon='add')
예제 #22
0
 def add_blacklist_expression(self):
     return Link('+add', 'Add blacklist expression', icon='add')
예제 #23
0
 def retract(self):
     text = 'Retract announcement'
     enabled = self.context.published
     return Link('+retract', text, icon='remove', enabled=enabled)
예제 #24
0
 def publish(self):
     text = 'Publish announcement'
     enabled = not self.context.published
     return Link('+publish', text, icon='edit', enabled=enabled)
예제 #25
0
 def retarget(self):
     text = 'Move announcement'
     return Link('+retarget', text, icon='edit')
 def change_log(self):
     text = 'View full change log'
     return Link('+changelog', text, icon="info")
 def branches(self):
     text = 'Code'
     summary = u'Branches for {0}'.format(self.context.displayname)
     return Link('', text, summary)
 def publishinghistory(self):
     return Link('+publishinghistory', 'Show publishing history')
예제 #29
0
 def delete(self):
     text = 'Delete announcement'
     return Link('+delete', text, icon='trash-icon')
예제 #30
0
 def edit_blacklist_expression(self):
     return Link('+edit', 'Edit blacklist expression', icon='edit')