Revision 3e0a032d
b/snf-astakos-app/astakos/im/activation_backends.py | ||
---|---|---|
36 | 36 |
from django.utils.translation import ugettext as _ |
37 | 37 |
|
38 | 38 |
from astakos.im.models import AstakosUser |
39 |
from astakos.im.util import get_invitation |
|
40 | 39 |
from astakos.im import functions |
41 | 40 |
from astakos.im import settings |
42 | 41 |
from astakos.im import forms |
b/snf-astakos-app/astakos/im/forms.py | ||
---|---|---|
31 | 31 |
# interpreted as representing official policies, either expressed |
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
from random import random |
34 |
from datetime import datetime, timedelta
|
|
34 |
from datetime import datetime |
|
35 | 35 |
|
36 | 36 |
from django import forms |
37 | 37 |
from django.utils.translation import ugettext as _ |
38 |
from django.contrib.auth.forms import ( |
|
39 |
UserCreationForm, AuthenticationForm, |
|
40 |
PasswordResetForm, PasswordChangeForm, |
|
41 |
SetPasswordForm) |
|
38 |
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm, \ |
|
39 |
PasswordResetForm, PasswordChangeForm, SetPasswordForm |
|
42 | 40 |
from django.core.mail import send_mail, get_connection |
43 | 41 |
from django.contrib.auth.tokens import default_token_generator |
44 |
from django.template import Context, loader |
|
45 |
from django.utils.http import int_to_base36 |
|
46 | 42 |
from django.core.urlresolvers import reverse |
47 | 43 |
from django.utils.safestring import mark_safe |
48 | 44 |
from django.utils.encoding import smart_str |
49 | 45 |
from django.conf import settings |
50 |
from django.forms.models import fields_for_model |
|
51 | 46 |
from django.db import transaction |
52 |
from django.utils.encoding import smart_unicode |
|
53 | 47 |
from django.core import validators |
54 |
from django.contrib.auth.models import AnonymousUser |
|
55 | 48 |
from django.core.exceptions import PermissionDenied |
56 | 49 |
|
57 | 50 |
from synnefo_branding.utils import render_to_string |
58 | 51 |
from synnefo.lib import join_urls |
59 |
from astakos.im.models import ( |
|
60 |
AstakosUser, EmailChange, Invitation, |
|
61 |
Resource, PendingThirdPartyUser, get_latest_terms, |
|
62 |
ProjectApplication, Project) |
|
63 |
from astakos.im.settings import ( |
|
64 |
INVITATIONS_PER_LEVEL, BASEURL, SITENAME, RECAPTCHA_PRIVATE_KEY, |
|
65 |
RECAPTCHA_ENABLED, CONTACT_EMAIL, LOGGING_LEVEL, |
|
66 |
PASSWORD_RESET_EMAIL_SUBJECT, NEWPASSWD_INVALIDATE_TOKEN, |
|
67 |
MODERATION_ENABLED, EMAILCHANGE_ENABLED, |
|
68 |
) |
|
52 |
from astakos.im.models import AstakosUser, EmailChange, Invitation, Resource, \ |
|
53 |
PendingThirdPartyUser, get_latest_terms, ProjectApplication, Project |
|
54 |
from astakos.im.settings import BASEURL, SITENAME, RECAPTCHA_PRIVATE_KEY, \ |
|
55 |
RECAPTCHA_ENABLED, CONTACT_EMAIL, PASSWORD_RESET_EMAIL_SUBJECT, \ |
|
56 |
NEWPASSWD_INVALIDATE_TOKEN, EMAILCHANGE_ENABLED |
|
69 | 57 |
from astakos.im import presentation |
70 | 58 |
from astakos.im.widgets import DummyWidget, RecaptchaWidget |
71 |
from astakos.im.functions import (
|
|
72 |
send_change_email, submit_application, accept_membership_checks)
|
|
59 |
from astakos.im.functions import send_change_email, submit_application, \
|
|
60 |
accept_membership_checks
|
|
73 | 61 |
|
74 |
from astakos.im.util import reserved_email, reserved_verified_email, \ |
|
75 |
get_query, model_to_dict |
|
62 |
from astakos.im.util import reserved_verified_email, model_to_dict |
|
76 | 63 |
from astakos.im import auth_providers |
77 | 64 |
|
78 | 65 |
import astakos.im.messages as astakos_messages |
b/snf-astakos-app/astakos/im/functions.py | ||
---|---|---|
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 | 34 |
import logging |
35 |
import socket |
|
36 | 35 |
|
37 | 36 |
from django.utils.translation import ugettext as _ |
38 | 37 |
from django.core.mail import send_mail, get_connection |
39 | 38 |
from django.core.urlresolvers import reverse |
40 |
from django.template import Context, loader |
|
41 | 39 |
from django.contrib.auth import ( |
42 | 40 |
login as auth_login, |
43 | 41 |
logout as auth_logout) |
44 |
from django.contrib.auth.models import AnonymousUser |
|
45 | 42 |
from django.core.exceptions import PermissionDenied |
46 |
from django.db import IntegrityError |
|
47 | 43 |
from django.db.models import Q |
48 | 44 |
from django.http import Http404 |
49 | 45 |
|
50 | 46 |
from synnefo_branding.utils import render_to_string |
51 | 47 |
|
52 |
from urllib import quote |
|
53 |
from smtplib import SMTPException |
|
54 |
from datetime import datetime |
|
55 |
from functools import wraps |
|
56 |
|
|
57 | 48 |
from synnefo.lib import join_urls |
58 | 49 |
from astakos.im.settings import ( |
59 | 50 |
CONTACT_EMAIL, SITENAME, BASEURL, LOGGING_LEVEL, |
60 | 51 |
VERIFICATION_EMAIL_SUBJECT, ACCOUNT_CREATION_SUBJECT, |
61 |
GROUP_CREATION_SUBJECT, HELPDESK_NOTIFICATION_EMAIL_SUBJECT,
|
|
52 |
HELPDESK_NOTIFICATION_EMAIL_SUBJECT, |
|
62 | 53 |
INVITATION_EMAIL_SUBJECT, GREETING_EMAIL_SUBJECT, FEEDBACK_EMAIL_SUBJECT, |
63 | 54 |
EMAIL_CHANGE_EMAIL_SUBJECT, |
64 | 55 |
) |
65 |
from astakos.im.notifications import build_notification, NotificationError |
|
66 | 56 |
from astakos.im.models import ( |
67 | 57 |
AstakosUser, Invitation, ProjectMembership, ProjectApplication, Project, |
68 | 58 |
Chain, new_chain) |
b/snf-astakos-app/astakos/im/models.py | ||
---|---|---|
41 | 41 |
from time import asctime |
42 | 42 |
from datetime import datetime, timedelta |
43 | 43 |
from base64 import b64encode |
44 |
from urlparse import urlparse |
|
45 | 44 |
from urllib import quote |
46 | 45 |
from random import randint |
47 | 46 |
|
48 | 47 |
from django.db import models, IntegrityError, transaction |
49 | 48 |
from django.contrib.auth.models import User, UserManager, Group, Permission |
50 | 49 |
from django.utils.translation import ugettext as _ |
51 |
from django.core.exceptions import ValidationError |
|
52 |
from django.db.models.signals import ( |
|
53 |
pre_save, post_save, post_syncdb, post_delete) |
|
50 |
from django.db.models.signals import pre_save, post_save |
|
54 | 51 |
from django.contrib.contenttypes.models import ContentType |
55 | 52 |
|
56 |
from django.dispatch import Signal |
|
57 | 53 |
from django.db.models import Q, Max |
58 | 54 |
from django.core.urlresolvers import reverse |
59 | 55 |
from django.utils.http import int_to_base36 |
... | ... | |
61 | 57 |
from django.conf import settings |
62 | 58 |
from django.utils.importlib import import_module |
63 | 59 |
from django.utils.safestring import mark_safe |
64 |
from django.core.validators import email_re |
|
65 |
from django.core.exceptions import PermissionDenied, ObjectDoesNotExist |
|
66 | 60 |
|
67 | 61 |
from synnefo.lib.utils import dict_merge |
68 | 62 |
|
69 |
from astakos.im.settings import ( |
|
70 |
DEFAULT_USER_LEVEL, INVITATIONS_PER_LEVEL, |
|
71 |
AUTH_TOKEN_DURATION, EMAILCHANGE_ACTIVATION_DAYS, LOGGING_LEVEL, |
|
72 |
SITENAME, MODERATION_ENABLED, |
|
73 |
) |
|
63 |
from astakos.im.settings import DEFAULT_USER_LEVEL, INVITATIONS_PER_LEVEL, \ |
|
64 |
AUTH_TOKEN_DURATION, EMAILCHANGE_ACTIVATION_DAYS, LOGGING_LEVEL |
|
74 | 65 |
from astakos.im import settings as astakos_settings |
75 | 66 |
from astakos.im import auth_providers as auth |
76 | 67 |
|
b/snf-astakos-app/astakos/im/notifications.py | ||
---|---|---|
36 | 36 |
|
37 | 37 |
from smtplib import SMTPException |
38 | 38 |
|
39 |
from django.conf import settings |
|
40 | 39 |
from django.core.mail import send_mail, get_connection |
41 | 40 |
from django.utils.translation import ugettext as _ |
42 | 41 |
from synnefo_branding.utils import render_to_string |
b/snf-astakos-app/astakos/im/tables.py | ||
---|---|---|
31 | 31 |
# interpreted as representing official policies, either expressed |
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 |
from collections import defaultdict |
|
35 |
|
|
36 | 34 |
from django.utils.translation import ugettext as _ |
37 | 35 |
from django.utils.safestring import mark_safe |
38 | 36 |
from django.template import Context, Template |
... | ... | |
44 | 42 |
|
45 | 43 |
from astakos.im.models import * |
46 | 44 |
from astakos.im.templatetags.filters import truncatename |
47 |
from astakos.im.functions import (join_project_checks, |
|
48 |
can_leave_request, |
|
49 |
cancel_membership_checks) |
|
45 |
from astakos.im.functions import join_project_checks, can_leave_request, \ |
|
46 |
cancel_membership_checks |
|
50 | 47 |
|
51 | 48 |
DEFAULT_DATE_FORMAT = "d/m/Y" |
52 | 49 |
|
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,\ |
b/snf-astakos-app/astakos/im/views/projects.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 |
from urllib import quote |
|
41 |
from functools import wraps |
|
42 |
from datetime import datetime |
|
43 |
from synnefo.lib.ordereddict import OrderedDict |
|
44 |
|
|
45 | 39 |
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 |
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) |
|
45 |
from django.http import Http404 |
|
57 | 46 |
from django.shortcuts import redirect |
58 |
from django.template import RequestContext, loader as template_loader |
|
59 |
from django.utils.http import urlencode |
|
60 | 47 |
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 | 49 |
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 |
|
50 |
from django.core.exceptions import PermissionDenied |
|
68 | 51 |
from django.views.decorators.http import require_http_methods |
69 | 52 |
from django.db.models import Q |
70 |
from django.utils import simplejson as json |
|
71 |
from django.contrib.auth.views import redirect_to_login |
|
72 | 53 |
|
73 |
from synnefo_branding.utils import render_to_string |
|
74 | 54 |
from snf_django.lib.db.transaction import commit_on_success_strict |
75 | 55 |
|
76 | 56 |
import astakos.im.messages as astakos_messages |
77 | 57 |
|
78 |
from astakos.im import activation_backends |
|
79 | 58 |
from astakos.im import tables |
80 |
from astakos.im.models import ( |
|
81 |
AstakosUser, ApprovalTerms, |
|
82 |
EmailChange, AstakosUserAuthProvider, PendingThirdPartyUser, |
|
83 |
ProjectApplication, ProjectMembership, Project, Service, Resource) |
|
84 |
from astakos.im.util import ( |
|
85 |
get_context, prepare_response, get_query, restrict_next, model_to_dict) |
|
86 |
from astakos.im.forms import ( |
|
87 |
LoginForm, InvitationForm, |
|
88 |
FeedbackForm, SignApprovalTermsForm, |
|
89 |
EmailChangeForm, |
|
90 |
ProjectApplicationForm, ProjectSortForm, |
|
91 |
AddProjectMembersForm, ProjectSearchForm, |
|
92 |
ProjectMembersSortForm) |
|
93 |
from astakos.im.forms import ExtendedProfileForm as ProfileForm |
|
94 |
from astakos.im.functions import ( |
|
95 |
send_feedback, |
|
96 |
logout as auth_logout, |
|
97 |
invite as invite_func, |
|
98 |
check_pending_app_quota, |
|
99 |
accept_membership, reject_membership, remove_membership, cancel_membership, |
|
100 |
leave_project, join_project, enroll_member, can_join_request, |
|
101 |
can_leave_request, |
|
102 |
get_related_project_id, get_by_chain_or_404, |
|
103 |
approve_application, deny_application, |
|
104 |
cancel_application, dismiss_application) |
|
105 |
from astakos.im.settings import ( |
|
106 |
COOKIE_DOMAIN, LOGOUT_NEXT, |
|
107 |
LOGGING_LEVEL, PAGINATE_BY, |
|
108 |
PAGINATE_BY_ALL, |
|
109 |
ACTIVATION_REDIRECT_URL, |
|
110 |
MODERATION_ENABLED) |
|
111 |
from astakos.im import presentation |
|
112 |
from astakos.im import settings |
|
113 |
from astakos.im import auth_providers as auth |
|
114 |
from snf_django.lib.db.transaction import commit_on_success_strict |
|
59 |
from astakos.im.models import ProjectApplication |
|
60 |
from astakos.im.util import get_context, restrict_next |
|
61 |
from astakos.im.forms import ProjectApplicationForm, AddProjectMembersForm, \ |
|
62 |
ProjectSearchForm |
|
63 |
from astakos.im.functions import check_pending_app_quota, accept_membership, \ |
|
64 |
reject_membership, remove_membership, cancel_membership, leave_project, \ |
|
65 |
join_project, enroll_member, can_join_request, can_leave_request, \ |
|
66 |
get_related_project_id, get_by_chain_or_404, approve_application, \ |
|
67 |
deny_application, cancel_application, dismiss_application |
|
68 |
from astakos.im.settings import COOKIE_DOMAIN, PAGINATE_BY |
|
115 | 69 |
from astakos.im.ctx import ExceptionHandler |
116 |
from astakos.im import quotas |
|
117 | 70 |
from astakos.im.views.util import render_response, _create_object, \ |
118 | 71 |
_update_object, _resources_catalog |
119 | 72 |
from astakos.im.views.decorators import cookie_fix, signed_terms_required,\ |
120 |
required_auth_methods_assigned, valid_astakos_user_required
|
|
73 |
valid_astakos_user_required |
|
121 | 74 |
|
122 | 75 |
logger = logging.getLogger(__name__) |
123 | 76 |
|
b/snf-astakos-app/astakos/im/views/target/__init__.py | ||
---|---|---|
34 | 34 |
import json |
35 | 35 |
|
36 | 36 |
from django.contrib import messages |
37 |
from django.utils.translation import ugettext as _ |
|
38 | 37 |
from django.http import HttpResponseRedirect |
39 | 38 |
from django.core.urlresolvers import reverse |
40 | 39 |
from django.db import transaction |
... | ... | |
43 | 42 |
from astakos.im.util import get_query, login_url |
44 | 43 |
from astakos.im import messages as astakos_messages |
45 | 44 |
from astakos.im import auth_providers as auth |
46 |
from astakos.im.util import prepare_response, get_context |
|
47 |
from astakos.im.views.util import render_response |
|
48 |
from astakos.im.views.decorators import requires_anonymous |
|
45 |
from astakos.im.util import prepare_response |
|
46 |
|
|
49 | 47 |
import logging |
50 | 48 |
|
51 | 49 |
logger = logging.getLogger(__name__) |
b/snf-astakos-app/astakos/im/views/target/google.py | ||
---|---|---|
33 | 33 |
|
34 | 34 |
import json |
35 | 35 |
|
36 |
from django.http import HttpResponseBadRequest |
|
37 | 36 |
from django.utils.translation import ugettext as _ |
38 | 37 |
from django.contrib import messages |
39 |
from django.template import RequestContext |
|
40 | 38 |
from django.views.decorators.http import require_http_methods |
41 | 39 |
from django.http import HttpResponseRedirect |
42 | 40 |
from django.core.urlresolvers import reverse |
43 |
from django.core.exceptions import ImproperlyConfigured |
|
44 |
from django.shortcuts import get_object_or_404 |
|
45 | 41 |
|
46 |
from urlparse import urlunsplit, urlsplit |
|
47 |
|
|
48 |
from astakos.im.util import prepare_response, get_context, login_url |
|
49 |
from astakos.im.settings import ENABLE_LOCAL_ACCOUNT_MIGRATION, BASEURL |
|
50 |
from astakos.im.models import AstakosUser, PendingThirdPartyUser |
|
51 |
from astakos.im.forms import LoginForm |
|
52 |
from astakos.im.activation_backends import get_backend, SimpleBackend |
|
42 |
from astakos.im.models import AstakosUser |
|
53 | 43 |
from astakos.im import settings |
54 |
from astakos.im import auth_providers |
|
55 |
from astakos.im.views.target import add_pending_auth_provider, get_pending_key, \ |
|
44 |
from astakos.im.views.target import get_pending_key, \ |
|
56 | 45 |
handle_third_party_signup, handle_third_party_login, init_third_party_session |
57 |
from astakos.im.views.util import render_response |
|
58 |
from astakos.im.views.decorators import cookie_fix, requires_anonymous, \ |
|
59 |
requires_auth_provider |
|
46 |
from astakos.im.views.decorators import cookie_fix, requires_auth_provider |
|
60 | 47 |
|
61 | 48 |
import logging |
62 |
import time |
|
63 |
import astakos.im.messages as astakos_messages |
|
64 |
import urlparse |
|
65 | 49 |
import urllib |
66 | 50 |
|
67 | 51 |
logger = logging.getLogger(__name__) |
68 | 52 |
|
69 | 53 |
import oauth2 as oauth |
70 |
import cgi |
|
71 | 54 |
|
72 | 55 |
signature_method = oauth.SignatureMethod_HMAC_SHA1() |
73 | 56 |
|
b/snf-astakos-app/astakos/im/views/target/linkedin.py | ||
---|---|---|
33 | 33 |
|
34 | 34 |
import json |
35 | 35 |
|
36 |
from django.http import HttpResponseBadRequest |
|
37 |
from django.utils.translation import ugettext as _ |
|
38 | 36 |
from django.contrib import messages |
39 |
from django.template import RequestContext |
|
40 | 37 |
from django.views.decorators.http import require_http_methods |
41 | 38 |
from django.http import HttpResponseRedirect |
42 | 39 |
from django.core.urlresolvers import reverse |
43 |
from django.core.exceptions import ImproperlyConfigured |
|
44 |
from django.shortcuts import get_object_or_404 |
|
45 | 40 |
|
46 |
from urlparse import urlunsplit, urlsplit |
|
47 |
|
|
48 |
from astakos.im.util import prepare_response, get_context, login_url |
|
49 |
from astakos.im.settings import ENABLE_LOCAL_ACCOUNT_MIGRATION, BASEURL |
|
50 |
from astakos.im.models import AstakosUser, PendingThirdPartyUser |
|
51 |
from astakos.im.forms import LoginForm |
|
52 |
from astakos.im.activation_backends import get_backend, SimpleBackend |
|
41 |
from astakos.im.models import AstakosUser |
|
53 | 42 |
from astakos.im import settings |
54 |
from astakos.im import auth_providers |
|
55 |
from astakos.im.views.target import add_pending_auth_provider, get_pending_key, \ |
|
43 |
from astakos.im.views.target import get_pending_key, \ |
|
56 | 44 |
handle_third_party_signup, handle_third_party_login, init_third_party_session |
57 |
from astakos.im.views.util import render_response |
|
58 |
from astakos.im.views.decorators import cookie_fix, requires_anonymous, \ |
|
45 |
from astakos.im.views.decorators import cookie_fix, \ |
|
59 | 46 |
requires_auth_provider |
60 | 47 |
|
61 |
import astakos.im.messages as astakos_messages |
|
62 |
|
|
63 | 48 |
import logging |
64 | 49 |
|
65 | 50 |
logger = logging.getLogger(__name__) |
b/snf-astakos-app/astakos/im/views/target/local.py | ||
---|---|---|
44 | 44 |
import django.contrib.auth.views as django_auth_views |
45 | 45 |
|
46 | 46 |
from astakos.im.util import prepare_response, get_query |
47 |
from astakos.im.views.decorators import requires_anonymous, \ |
|
48 |
signed_terms_required, requires_auth_provider |
|
49 | 47 |
from astakos.im.models import PendingThirdPartyUser |
50 | 48 |
from astakos.im.forms import LoginForm, ExtendedPasswordChangeForm, \ |
51 | 49 |
ExtendedSetPasswordForm |
52 |
from astakos.im.settings import (RATELIMIT_RETRIES_ALLOWED, |
|
53 |
ENABLE_LOCAL_ACCOUNT_MIGRATION) |
|
50 |
from astakos.im.settings import RATELIMIT_RETRIES_ALLOWED |
|
54 | 51 |
import astakos.im.messages as astakos_messages |
55 |
from astakos.im import settings |
|
56 | 52 |
from astakos.im import auth_providers as auth |
57 |
from astakos.im.views.decorators import cookie_fix, signed_terms_required |
|
53 |
from astakos.im.views.decorators import cookie_fix, requires_anonymous, \ |
|
54 |
signed_terms_required, requires_auth_provider |
|
58 | 55 |
|
59 | 56 |
from ratelimit.decorators import ratelimit |
60 | 57 |
|
b/snf-astakos-app/astakos/im/views/target/shibboleth.py | ||
---|---|---|
31 | 31 |
# interpreted as representing official policies, either expressed |
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 |
import json |
|
35 |
|
|
36 | 34 |
from django.conf import settings as global_settings |
37 |
from django.http import HttpResponseBadRequest |
|
38 | 35 |
from django.utils.translation import ugettext as _ |
39 | 36 |
from django.contrib import messages |
40 |
from django.template import RequestContext |
|
41 | 37 |
from django.views.decorators.http import require_http_methods |
42 | 38 |
from django.http import HttpResponseRedirect |
43 |
from django.core.urlresolvers import reverse |
|
44 |
from django.core.exceptions import ImproperlyConfigured |
|
45 |
from django.shortcuts import get_object_or_404 |
|
46 |
|
|
47 |
from urlparse import urlunsplit, urlsplit |
|
48 |
|
|
49 |
from astakos.im.util import prepare_response, get_context, login_url |
|
50 |
from astakos.im.settings import ENABLE_LOCAL_ACCOUNT_MIGRATION, BASEURL |
|
51 |
from astakos.im.models import AstakosUser, PendingThirdPartyUser |
|
52 |
from astakos.im.forms import LoginForm |
|
53 |
from astakos.im.activation_backends import get_backend, SimpleBackend |
|
54 |
from astakos.im import auth_providers |
|
39 |
|
|
40 |
from astakos.im.util import login_url |
|
41 |
from astakos.im.models import AstakosUser |
|
55 | 42 |
from astakos.im import settings |
56 |
from astakos.im.views.target import add_pending_auth_provider, get_pending_key, \ |
|
57 |
handle_third_party_signup, handle_third_party_login, init_third_party_session |
|
58 |
from astakos.im.views.util import render_response |
|
59 |
from astakos.im.views.decorators import cookie_fix, requires_anonymous, \ |
|
60 |
requires_auth_provider |
|
43 |
from astakos.im.views.target import get_pending_key, \ |
|
44 |
handle_third_party_signup, handle_third_party_login, \ |
|
45 |
init_third_party_session |
|
46 |
from astakos.im.views.decorators import cookie_fix, requires_auth_provider |
|
61 | 47 |
|
62 | 48 |
import astakos.im.messages as astakos_messages |
63 | 49 |
import logging |
b/snf-astakos-app/astakos/im/views/target/twitter.py | ||
---|---|---|
31 | 31 |
# interpreted as representing official policies, either expressed |
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 |
import json |
|
35 | 34 |
import logging |
36 | 35 |
|
37 |
from django.http import HttpResponseBadRequest |
|
38 |
from django.utils.translation import ugettext as _ |
|
39 | 36 |
from django.contrib import messages |
40 |
from django.template import RequestContext |
|
41 | 37 |
from django.views.decorators.http import require_http_methods |
42 | 38 |
from django.http import HttpResponseRedirect, urlencode |
43 | 39 |
from django.core.urlresolvers import reverse |
44 |
from django.core.exceptions import ImproperlyConfigured |
|
45 |
from django.shortcuts import get_object_or_404 |
|
46 | 40 |
|
47 | 41 |
from urlparse import urlunsplit, urlsplit, parse_qsl |
48 | 42 |
|
49 |
from astakos.im.util import prepare_response, get_context, login_url |
|
50 |
from astakos.im.settings import ENABLE_LOCAL_ACCOUNT_MIGRATION, BASEURL |
|
51 |
from astakos.im.models import AstakosUser, PendingThirdPartyUser |
|
52 |
from astakos.im.forms import LoginForm |
|
53 |
from astakos.im.activation_backends import get_backend, SimpleBackend |
|
43 |
from astakos.im.models import AstakosUser |
|
54 | 44 |
from astakos.im import settings |
55 |
from astakos.im import auth_providers |
|
56 |
from astakos.im.views.target import add_pending_auth_provider, get_pending_key, \ |
|
57 |
handle_third_party_signup, handle_third_party_login, init_third_party_session |
|
58 |
from astakos.im.views.util import render_response |
|
59 |
from astakos.im.views.decorators import cookie_fix, requires_anonymous, \ |
|
60 |
requires_auth_provider, required_auth_methods_assigned |
|
61 |
|
|
62 |
import astakos.im.messages as astakos_messages |
|
45 |
from astakos.im.views.target import get_pending_key, \ |
|
46 |
handle_third_party_signup, handle_third_party_login, \ |
|
47 |
init_third_party_session |
|
48 |
from astakos.im.views.decorators import cookie_fix, requires_auth_provider |
|
63 | 49 |
|
64 | 50 |
|
65 | 51 |
logger = logging.getLogger(__name__) |
Also available in: Unified diff