def project_fields(project): app = project.last_application pending_app = (app.id if app and app.state == app.PENDING else None) d = OrderedDict([ ('project id', project.uuid), ('name', project.realname), ('status', project.state_display()), ('pending_app', pending_app), ('owner', project.owner), ('homepage', project.homepage), ('description', project.description), ('creation date', project.creation_date), ('request end date', project.end_date), ]) deact = project.last_deactivation() if deact is not None: d['deactivation date'] = deact.date d.update([ ('join policy', project.member_join_policy_display), ('leave policy', project.member_leave_policy_display), ('max members', units.show(project.limit_on_members_number, None)), ('total members', project.members_count()), ]) return d
def project_fields(s, project, last_app): app = project.application d = OrderedDict( [("project id", project.id), ("application id", app.id), ("name", app.name), ("status", Chain.state_display(s))] ) if s in Chain.PENDING_STATES: d.update([("pending application", last_app.id)]) d.update( [ ("owner", app.owner), ("applicant", app.applicant), ("homepage", app.homepage), ("description", app.description), ("comments for review", app.comments), ("request issue date", app.issue_date), ("request start date", app.start_date), ("creation date", project.creation_date), ("request end date", app.end_date), ] ) deact_date = project.deactivation_date if deact_date is not None: d["deactivation date"] = deact_date mem_limit = app.limit_on_members_number mem_limit_show = mem_limit if mem_limit is not None else "unlimited" d.update( [ ("join policy", app.member_join_policy_display), ("leave policy", app.member_leave_policy_display), ("max members", mem_limit_show), ("total members", project.members_count()), ] ) return d
def project_fields(project, pending_app): app = project.application d = OrderedDict([ ('project id', project.id), ('application id', app.id), ('name', app.name), ('status', project.state_display()), ]) if pending_app is not None: d.update([('pending application', pending_app.id)]) d.update([ ('owner', app.owner), ('applicant', app.applicant), ('homepage', app.homepage), ('description', app.description), ('comments for review', app.comments), ('request issue date', app.issue_date), ('request start date', app.start_date), ('creation date', project.creation_date), ('request end date', app.end_date), ]) deact = project.last_deactivation() if deact is not None: d['deactivation date'] = deact.date mem_limit = app.limit_on_members_number mem_limit_show = mem_limit if mem_limit is not None else "unlimited" d.update([ ('join policy', app.member_join_policy_display), ('leave policy', app.member_leave_policy_display), ('max members', mem_limit_show), ('total members', project.members_count()), ]) return d
def project_fields(project, pending_app): app = project.application d = OrderedDict([ ('project id', project.id), ('application id', app.id), ('name', app.name), ('status', project.state_display()), ]) if pending_app is not None: d.update([('pending application', pending_app.id)]) d.update([('owner', app.owner), ('applicant', app.applicant), ('homepage', app.homepage), ('description', app.description), ('comments for review', app.comments), ('request issue date', app.issue_date), ('request start date', app.start_date), ('creation date', project.creation_date), ('request end date', app.end_date), ]) deact = project.last_deactivation() if deact is not None: d['deactivation date'] = deact.date mem_limit = app.limit_on_members_number mem_limit_show = mem_limit if mem_limit is not None else "unlimited" d.update([ ('join policy', app.member_join_policy_display), ('leave policy', app.member_leave_policy_display), ('max members', mem_limit_show), ('total members', project.members_count()), ]) return d