def action_extra_context(project, table, self): user = table.user url, action, confirm, prompt = '', '', True, '' membership = table.memberships.get(project.id) if membership is not None: allowed = membership_allowed_actions(membership, user) if 'leave' in allowed: url = reverse('astakos.im.views.project_leave', args=(membership.project.uuid,)) action = _('Leave') confirm = True prompt = _('Are you sure you want to leave from the project?') elif 'cancel' in allowed: url = reverse('project_cancel_join', args=(project.uuid,)) action = _('Cancel') confirm = True prompt = _('Are you sure you want to cancel the join request?') if can_join_request(project, user, membership): url = reverse('project_join', args=(project.uuid,)) action = _('Join') confirm = True prompt = _('Are you sure you want to join this project?') return {'action': action, 'confirm': confirm, 'url': url, 'prompt': prompt}
def action_extra_context(project, table, self): user = table.user url, action, confirm, prompt = '', '', True, '' membership = table.memberships.get(project.id) if membership is not None: allowed = membership_allowed_actions(membership, user) if 'leave' in allowed: url = reverse('astakos.im.views.project_leave', args=(membership.id, )) action = _('Leave') confirm = True prompt = _('Are you sure you want to leave from the project?') elif 'cancel' in allowed: url = reverse('astakos.im.views.project_cancel_member', args=(membership.id, )) action = _('Cancel') confirm = True prompt = _('Are you sure you want to cancel the join request?') if can_join_request(project, user, membership): url = reverse('astakos.im.views.project_join', args=(project.id, )) action = _('Join') confirm = True prompt = _('Are you sure you want to join this project?') return {'action': action, 'confirm': confirm, 'url': url, 'prompt': prompt}
def get_memberships_details(memberships, request_user): all_logs = ProjectMembershipLog.objects.last_logs(memberships) l = [] for membership in memberships: logs = all_logs.get(membership.id, {}) dates = {} for s, log in logs.iteritems(): dates[MEMBERSHIP_STATE_SHOW[s]] = log.date allowed_actions = functions.membership_allowed_actions(membership, request_user) d = { "id": membership.id, "user": membership.person.uuid, "project": membership.project.uuid, "state": MEMBERSHIP_STATE_SHOW[membership.state], "allowed_actions": allowed_actions, } d.update(dates) l.append(d) return l
def get_memberships_details(memberships, request_user): all_logs = ProjectMembershipLog.objects.last_logs(memberships) l = [] for membership in memberships: logs = all_logs.get(membership.id, {}) dates = {} for s, log in logs.iteritems(): dates[MEMBERSHIP_STATE_SHOW[s]] = log.date allowed_actions = functions.membership_allowed_actions( membership, request_user) d = { "id": membership.id, "user": membership.person.uuid, "project": membership.project_id, "state": MEMBERSHIP_STATE_SHOW[membership.state], "allowed_actions": allowed_actions, } d.update(dates) l.append(d) return l