mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-21 08:25:21 +00:00
Update social_django and profile
This commit is contained in:
parent
0efcbb10a3
commit
fd21d7838e
@ -31,6 +31,10 @@
|
||||
<li class="tab"><a href="#two-factor-auth">{% trans "Two-Factor Authentication" %}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if enable_wechat_work %}
|
||||
<li class="tab"><a href="#social-auth">{% trans "Social Login" %}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if ENABLE_DELETE_ACCOUNT %}
|
||||
<li class="tab" id="del-account-nav"><a href="#del-account">{% trans "Delete Account" %}</a></li>
|
||||
{% endif %}
|
||||
@ -175,11 +179,10 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if enable_wechat_work %}
|
||||
<div class="setting-item" id="social-auth">
|
||||
<h3>{% trans "Social Login" %}</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
{% if request.LANGUAGE_CODE == 'zh-cn' %}
|
||||
企业微信
|
||||
@ -193,10 +196,9 @@
|
||||
<a href="{% url "social:begin" 'weixin-work' %}?next={{ social_next_page }}">{% trans "Connect" %}</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if ENABLE_DELETE_ACCOUNT %}
|
||||
<div class="setting-item" id="del-account">
|
||||
|
@ -90,6 +90,8 @@ def edit_profile(request):
|
||||
social_connected = UserSocialAuth.objects.filter(
|
||||
username=request.user.username, provider='weixin-work').count() > 0
|
||||
|
||||
enable_wechat_work = True if settings.SOCIAL_AUTH_WEIXIN_WORK_KEY else False
|
||||
|
||||
resp_dict = {
|
||||
'form': form,
|
||||
'server_crypto': server_crypto,
|
||||
@ -108,6 +110,7 @@ def edit_profile(request):
|
||||
'email_notification_interval': email_inverval,
|
||||
'social_connected': social_connected,
|
||||
'social_next_page': reverse('edit_profile'),
|
||||
'enable_wechat_work': enable_wechat_work,
|
||||
}
|
||||
|
||||
if has_two_factor_auth():
|
||||
|
@ -277,14 +277,10 @@ AUTHENTICATION_BACKENDS = (
|
||||
|
||||
SOCIAL_AUTH_URL_NAMESPACE = 'social'
|
||||
SOCIAL_AUTH_VERIFY_SSL = True
|
||||
SOCIAL_AUTH_METHODS = (
|
||||
('weixin', 'WeChat'),
|
||||
)
|
||||
|
||||
SOCIAL_AUTH_LOGIN_ERROR_URL = '/profile/'
|
||||
SOCIAL_AUTH_WEIXIN_WORK_AGENTID = ''
|
||||
SOCIAL_AUTH_WEIXIN_WORK_KEY = ''
|
||||
SOCIAL_AUTH_WEIXIN_WORK_SECRET = ''
|
||||
|
||||
SOCIAL_AUTH_PIPELINE = (
|
||||
'social_core.pipeline.social_auth.social_details',
|
||||
'social_core.pipeline.social_auth.social_uid',
|
||||
|
@ -20,7 +20,7 @@ if WEIXIN_WORK_SP is True:
|
||||
_USER_INFO_URL = 'https://qyapi.weixin.qq.com/cgi-bin/service/get_login_info'
|
||||
else:
|
||||
_AUTHORIZATION_URL = 'https://open.work.weixin.qq.com/wwopen/sso/qrConnect'
|
||||
_ACCESS_TOKEN_URL = 'https://qyapi.weixin.qq.com/cgi-bin/token'
|
||||
_ACCESS_TOKEN_URL = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
|
||||
_USER_INFO_URL = 'https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo'
|
||||
|
||||
|
||||
|
@ -5,7 +5,6 @@ from django.apps import apps
|
||||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.contrib.messages.api import MessageFailure
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.http import urlquote
|
||||
|
||||
@ -52,8 +51,6 @@ class SocialAuthExceptionMiddleware(MiddlewareMixin):
|
||||
|
||||
if url:
|
||||
return redirect(url)
|
||||
else:
|
||||
return redirect(reverse('edit_profile'))
|
||||
|
||||
def raise_exception(self, request, exception):
|
||||
strategy = getattr(request, 'social_strategy', None)
|
||||
|
@ -1,20 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.15 on 2018-11-15 08:25
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('social_django', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='usersocialauth',
|
||||
name='uid',
|
||||
field=models.CharField(max_length=150),
|
||||
),
|
||||
]
|
@ -19,7 +19,7 @@ from .managers import UserSocialAuthManager
|
||||
USER_MODEL = getattr(settings, setting_name('USER_MODEL'), None) or \
|
||||
getattr(settings, 'AUTH_USER_MODEL', None) or \
|
||||
'auth.User'
|
||||
UID_LENGTH = getattr(settings, setting_name('UID_LENGTH'), 150)
|
||||
UID_LENGTH = getattr(settings, setting_name('UID_LENGTH'), 255)
|
||||
EMAIL_LENGTH = getattr(settings, setting_name('EMAIL_LENGTH'), 254)
|
||||
NONCE_SERVER_URL_LENGTH = getattr(
|
||||
settings, setting_name('NONCE_SERVER_URL_LENGTH'), 255)
|
||||
@ -148,3 +148,12 @@ class DjangoStorage(BaseDjangoStorage):
|
||||
@classmethod
|
||||
def is_integrity_error(cls, exception):
|
||||
return exception.__class__ is IntegrityError
|
||||
|
||||
########## handle signals
|
||||
from django.dispatch import receiver
|
||||
from registration.signals import user_deleted
|
||||
|
||||
@receiver(user_deleted)
|
||||
def user_deleted_cb(sender, **kwargs):
|
||||
username = kwargs['username']
|
||||
UserSocialAuth.objects.filter(username=username).delete()
|
||||
|
@ -74,8 +74,7 @@ class DjangoUserMixin(UserMixin):
|
||||
assert 'username' in kwargs
|
||||
|
||||
user = User.objects.create_user(email=kwargs['username'],
|
||||
is_active=True,
|
||||
save_profile=False)
|
||||
is_active=True)
|
||||
|
||||
# try:
|
||||
# if hasattr(transaction, 'atomic'):
|
||||
|
Loading…
Reference in New Issue
Block a user