Revision 3e0a032d snf-astakos-app/astakos/im/views/im.py

b/snf-astakos-app/astakos/im/views/im.py
32 32
# or implied, of GRNET S.A.
33 33

  
34 34
import logging
35
import calendar
36 35
import inflect
37 36

  
38 37
engine = inflect.engine()
39 38

  
40 39
from urllib import quote
41
from functools import wraps
42
from datetime import datetime
43
from synnefo.lib.ordereddict import OrderedDict
44

  
45
from django_tables2 import RequestConfig
46 40

  
47 41
from django.shortcuts import get_object_or_404
48 42
from django.contrib import messages
49 43
from django.contrib.auth.decorators import login_required
50 44
from django.core.urlresolvers import reverse
51 45
from django.db import transaction
52
from django.db.utils import IntegrityError
53
from django.http import (
54
    HttpResponse, HttpResponseBadRequest,
55
    HttpResponseForbidden, HttpResponseRedirect,
56
    HttpResponseBadRequest, Http404)
46
from django.http import HttpResponse, HttpResponseRedirect, Http404
57 47
from django.shortcuts import redirect
58
from django.template import RequestContext, loader as template_loader
59
from django.utils.http import urlencode
60
from django.utils.html import escape
61
from django.utils.safestring import mark_safe
62 48
from django.utils.translation import ugettext as _
63
from django.views.generic.create_update import (
64
    apply_extra_context, lookup_object, delete_object, get_model_and_form_class)
65
from django.views.generic.list_detail import object_list, object_detail
66
from django.core.xheaders import populate_xheaders
67
from django.core.exceptions import ValidationError, PermissionDenied
49
from django.core.exceptions import PermissionDenied
68 50
from django.views.decorators.http import require_http_methods
69
from django.db.models import Q
70 51
from django.utils import simplejson as json
71
from django.contrib.auth.views import redirect_to_login
72

  
73
from synnefo_branding.utils import render_to_string
74 52

  
75 53
import astakos.im.messages as astakos_messages
76 54

  
77 55
from astakos.im import activation_backends
78
from astakos.im import tables
79
from astakos.im.models import (
80
    AstakosUser, ApprovalTerms,
81
    EmailChange, AstakosUserAuthProvider, PendingThirdPartyUser,
82
    ProjectApplication, ProjectMembership, Project, Service, Resource)
83
from astakos.im.util import (
84
    get_context, prepare_response, get_query, restrict_next, model_to_dict)
85
from astakos.im.forms import (
86
    LoginForm, InvitationForm,
87
    FeedbackForm, SignApprovalTermsForm,
88
    EmailChangeForm,
89
    ProjectApplicationForm, ProjectSortForm,
90
    AddProjectMembersForm, ProjectSearchForm,
91
    ProjectMembersSortForm)
56
from astakos.im.models import AstakosUser, ApprovalTerms, EmailChange, \
57
    AstakosUserAuthProvider, PendingThirdPartyUser, Service
58
from astakos.im.util import get_context, prepare_response, get_query, \
59
    restrict_next
60
from astakos.im.forms import LoginForm, InvitationForm, FeedbackForm, \
61
    SignApprovalTermsForm, EmailChangeForm
92 62
from astakos.im.forms import ExtendedProfileForm as ProfileForm
93
from astakos.im.functions import (
94
    send_feedback,
95
    logout as auth_logout,
96
    invite as invite_func,
97
    check_pending_app_quota,
98
    accept_membership, reject_membership, remove_membership, cancel_membership,
99
    leave_project, join_project, enroll_member, can_join_request,
100
    can_leave_request,
101
    get_related_project_id, get_by_chain_or_404,
102
    approve_application, deny_application,
103
    cancel_application, dismiss_application)
104
from astakos.im.settings import (
105
    COOKIE_DOMAIN, LOGOUT_NEXT,
106
    LOGGING_LEVEL, PAGINATE_BY,
107
    PAGINATE_BY_ALL,
108
    ACTIVATION_REDIRECT_URL,
109
    MODERATION_ENABLED)
63
from astakos.im.functions import send_feedback, logout as auth_logout, \
64
    invite as invite_func
65
from astakos.im.settings import COOKIE_DOMAIN, LOGOUT_NEXT, \
66
    ACTIVATION_REDIRECT_URL
110 67
from astakos.im import presentation
111 68
from astakos.im import settings
112 69
from astakos.im import auth_providers as auth
113
from snf_django.lib.db.transaction import commit_on_success_strict
114
from astakos.im.ctx import ExceptionHandler
115 70
from astakos.im import quotas
116 71
from astakos.im.views.util import render_response, _resources_catalog
117 72
from astakos.im.views.decorators import cookie_fix, signed_terms_required,\

Also available in: Unified diff