Пример #1
0
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}
Пример #2
0
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}
Пример #3
0
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
Пример #4
0
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