コード例 #1
0
ファイル: project.py プロジェクト: starzel/borg.project
class ProjectEditForm(base.EditForm):
    """Edit form for projects
    """

    form_fields = project_form_fields

    label = _(u"Edit Project")
    form_name = _(u"Project settings")
コード例 #2
0
ファイル: vocabularies.py プロジェクト: starzel/borg.project
def workflow_policies(context):
    context = getattr(context, 'context', context)
    placeful_workflow = getToolByName(context, 'portal_placeful_workflow', None)
    items = []
    if placeful_workflow is not None:
        if PLACEFUL_WORKFLOW_POLICY in placeful_workflow.objectIds():
            items.append((_(u"Default project workflow"), PLACEFUL_WORKFLOW_POLICY))
    items.sort()
    return SimpleVocabulary.fromItems(items)
コード例 #3
0
ファイル: project.py プロジェクト: starzel/borg.project
class ProjectAddForm(base.AddForm):
    """Add form for projects
    """

    form_fields = project_form_fields

    label = _(u"Add Project")
    form_name = _(u"Project settings")

    def setUpWidgets(self, ignore_request=False):
        default_addable = default_addable_types(aq_inner(self.context))

        self.widgets = form.setUpWidgets(
            self.form_fields,
            self.prefix,
            self.context,
            self.request,
            data=dict(addable_types=default_addable),
            ignore_request=ignore_request)

    def create(self, data):
        project = createObject(u"borg.project.Project")
        form.applyChanges(project, self.form_fields, data)
        return project
コード例 #4
0
ファイル: interfaces.py プロジェクト: starzel/borg.project
class IProject(Interface):
    """A project workspace, where special local roles may apply
    """

    title = schema.TextLine(title=_(u"Title"),
                            description=_(u"Name of the project"),
                            required=True)

    description = schema.Text(title=_(u"Description"),
                              description=_(u"A short summary of the project"),
                              required=True)

    managers = schema.List(
        title=_(u"Managers"),
        description=_(
            u"The following users should be managers of this project"),
        value_type=schema.Choice(
            title=_(u"User id"),
            source=UsersSource,
        ),
        default=[],
        required=False)

    members = schema.List(
        title=_(u"Members"),
        description=_(
            u"The following users should be members of this project"),
        value_type=schema.Choice(
            title=_(u"User id"),
            source=UsersSource,
        ),
        default=[],
        required=False)

    groups = schema.List(
        title=_(u"Member groups"),
        description=_(
            u"Members of the following groups should be members of this project"
        ),
        value_type=schema.Choice(
            title=_(u"Group id"),
            source=GroupsSource,
        ),
        default=[],
        required=False)

    workflow_policy = schema.Choice(
        title=_(u"Workflow policy"),
        description=_(u"Choose a workflow policy for this project"),
        vocabulary="borg.project.WorkflowPolicies")

    addable_types = schema.Set(
        title=_(u"Addable types"),
        description=_(u"These types will be addable by project members"),
        value_type=schema.Choice(title=_(u"Type id"),
                                 vocabulary="borg.project.AddableTypes"))
コード例 #5
0
ファイル: content.py プロジェクト: starzel/borg.project
        IProject,
        ITTWLockable,
        INameFromTitle,
        ILocalPortletAssignable,
    )
    portal_type = "b-org Project"

    title = u""
    description = u""
    managers = ()
    members = ()
    groups = ()
    workflow_policy = None
    addable_types = ()

    # This is a workaround for this issue: i
    # http://dev.plone.org/plone/ticket/10157
    security = ClassSecurityInfo()
    security.declareProtected(Permissions.copy_or_move, 'manage_copyObjects')
    security.declareProtected(Permissions.copy_or_move, 'manage_pasteObjects')

    def __init__(self, id=None):
        super(Project, self).__init__(id)
        self.managers = OOSet()
        self.members = OOSet()
        self.groups = OOSet()
        self.addable_types = OOSet()


projectFactory = Factory(Project, title=_(u"Create a new project"))