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)
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)
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)
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)
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)
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)
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)
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')
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)
def announce(self): text = 'Make announcement' summary = 'Create an item of news for this project' return Link('+announce', text, summary, icon='add')
def add_blacklist_expression(self): return Link('+add', 'Add blacklist expression', icon='add')
def retract(self): text = 'Retract announcement' enabled = self.context.published return Link('+retract', text, icon='remove', enabled=enabled)
def publish(self): text = 'Publish announcement' enabled = not self.context.published return Link('+publish', text, icon='edit', enabled=enabled)
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')
def delete(self): text = 'Delete announcement' return Link('+delete', text, icon='trash-icon')
def edit_blacklist_expression(self): return Link('+edit', 'Edit blacklist expression', icon='edit')