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