1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-08 18:30:53 +00:00

update work weixin setting (#3819)

This commit is contained in:
sniper-py
2019-07-08 15:44:38 +08:00
committed by Daniel Pan
parent d207be56bc
commit 97016a2e2b
14 changed files with 52 additions and 63 deletions

View File

@@ -5,7 +5,7 @@ import Logo from '../../components/logo';
import { gettext, siteRoot, isPro, isDefaultAdmin, canViewSystemInfo, canViewStatistic,
canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog,
canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled,
enableGuestInvitation, enableTermsAndConditions, enableFileScan, enableWorkWeixinDepartments } from '../../utils/constants';
enableGuestInvitation, enableTermsAndConditions, enableFileScan, enableWorkWeixin } from '../../utils/constants';
const propTypes = {
isSidePanelClosed: PropTypes.bool.isRequired,
@@ -174,7 +174,7 @@ class SidePanel extends React.Component {
</a>
</li>
}
{isDefaultAdmin && enableWorkWeixinDepartments &&
{isDefaultAdmin && enableWorkWeixin &&
<li className="nav-item">
<Link className={`nav-link ellipsis ${this.getActiveClass('departments')}`} to={siteRoot + 'sys/work-weixin/departments/'}>
<span className="sf3-font-enterprise-wechat sf3-font" aria-hidden="true"></span>

View File

@@ -116,5 +116,5 @@ export const canManageUser = window.sysadmin ? window.sysadmin.pageOptions.admin
export const canManageGroup = window.sysadmin ? window.sysadmin.pageOptions.admin_permissions.can_manage_group : '';
export const canViewUserLog = window.sysadmin ? window.sysadmin.pageOptions.admin_permissions.can_view_user_log : '';
export const canViewAdminLog = window.sysadmin ? window.sysadmin.pageOptions.admin_permissions.can_view_admin_log : '';
export const enableWorkWeixinDepartments = window.sysadmin ? window.sysadmin.pageOptions.enable_work_weixin_departments : '';
export const enableWorkWeixin = window.sysadmin ? window.sysadmin.pageOptions.enable_work_weixin : '';

View File

@@ -186,7 +186,7 @@ def login(request, template_name='registration/login.html',
getattr(settings, 'ENABLE_OAUTH', False) or \
getattr(settings, 'ENABLE_CAS', False) or \
getattr(settings, 'ENABLE_REMOTE_USER_AUTHENTICATION', False) or \
getattr(settings, 'ENABLE_WORK_WEIXIN_OAUTH', False)
getattr(settings, 'ENABLE_WORK_WEIXIN', False)
login_bg_image_path = get_login_bg_image_path()

View File

@@ -50,7 +50,7 @@ try:
from seahub.settings import ENABLE_FILE_SCAN
except ImportError:
ENABLE_FILE_SCAN = False
from seahub.work_weixin.settings import ENABLE_WORK_WEIXIN_DEPARTMENTS
from seahub.work_weixin.settings import ENABLE_WORK_WEIXIN
def base(request):
@@ -133,7 +133,7 @@ def base(request):
'enable_resumable_fileupload': dj_settings.ENABLE_RESUMABLE_FILEUPLOAD,
'service_url': get_service_url().rstrip('/'),
'enable_file_scan': ENABLE_FILE_SCAN,
'enable_work_weixin_departments': ENABLE_WORK_WEIXIN_DEPARTMENTS,
'enable_work_weixin': ENABLE_WORK_WEIXIN,
'avatar_url': avatar_url if avatar_url else '',
}

View File

@@ -4,7 +4,7 @@ from seahub.auth.backends import RemoteUserBackend
from seahub.base.accounts import User
from registration.models import (notify_admins_on_activate_request,
notify_admins_on_register_complete)
from seahub.work_weixin.settings import ENABLE_WORK_WEIXIN_OAUTH
from seahub.work_weixin.settings import ENABLE_WORK_WEIXIN
class OauthRemoteUserBackend(RemoteUserBackend):
"""
@@ -23,7 +23,7 @@ class OauthRemoteUserBackend(RemoteUserBackend):
# Create active user by default.
activate_after_creation = getattr(settings, 'OAUTH_ACTIVATE_USER_AFTER_CREATION', True)
if ENABLE_WORK_WEIXIN_OAUTH:
if ENABLE_WORK_WEIXIN:
create_unknown_user = getattr(settings, 'WORK_WEIXIN_OAUTH_CREATE_UNKNOWN_USER', True)
activate_after_creation = getattr(settings, 'WORK_WEIXIN_OAUTH_ACTIVATE_USER_AFTER_CREATION', True)

View File

@@ -301,12 +301,8 @@ SOCIAL_AUTH_PIPELINE = (
ENABLE_OAUTH = False
ENABLE_WATERMARK = False
# allow user scan the work weixin qrcode to login
ENABLE_WORK_WEIXIN_OAUTH = False
# allow seafile admin import user from work weixin
ENABLE_WORK_WEIXIN_DEPARTMENTS = False
# allow send unread msg to work weixin
ENABLE_WORK_WEIXIN_NOTIFICATIONS = False
# enable work weixin
ENABLE_WORK_WEIXIN = False
# allow user to clean library trash
ENABLE_USER_CLEAN_TRASH = True
@@ -914,5 +910,5 @@ if ENABLE_REMOTE_USER_AUTHENTICATION:
MIDDLEWARE_CLASSES += ('seahub.auth.middleware.SeafileRemoteUserMiddleware',)
AUTHENTICATION_BACKENDS += ('seahub.auth.backends.SeafileRemoteUserBackend',)
if ENABLE_OAUTH or ENABLE_WORK_WEIXIN_OAUTH:
if ENABLE_OAUTH or ENABLE_WORK_WEIXIN:
AUTHENTICATION_BACKENDS += ('seahub.oauth.backends.OauthRemoteUserBackend',)

View File

@@ -122,7 +122,7 @@
</li>
{% endif %}
{% if is_default_admin and enable_work_weixin_departments %}
{% if is_default_admin and enable_work_weixin %}
<li class="tab">
<a href="{{ SITE_ROOT }}sys/work-weixin/departments/"><span class="sf3-font-enterprise-wechat sf3-font"></span></a>
</li>

View File

@@ -133,7 +133,7 @@
</li>
{% endif %}
{% if is_default_admin and enable_work_weixin_departments %}
{% if is_default_admin and enable_work_weixin %}
<li class="tab">
<a href="{{ SITE_ROOT }}sys/work-weixin/departments/"><span class="sf3-font-enterprise-wechat sf3-font"></span>企业微信集成</a>
</li>

View File

@@ -108,7 +108,7 @@ app["pageOptions"] = {
cur_note: {% if request.cur_note %} {'id': '{{ request.cur_note.id }}'} {% else %} null {% endif %},
is_default_admin: {% if is_default_admin %} true {% else %} false {% endif %},
enable_file_scan: {% if enable_file_scan %} true {% else %} false {% endif %},
enable_work_weixin_departments: {% if enable_work_weixin_departments %} true {% else %} false {% endif %},
enable_work_weixin: {% if enable_work_weixin %} true {% else %} false {% endif %},
admin_permissions: {
"can_view_system_info": {% if user.admin_permissions.can_view_system_info %} true {% else %} false {% endif %},
"can_view_statistic": {% if user.admin_permissions.can_view_statistic %} true {% else %} false {% endif %},

View File

@@ -15,7 +15,7 @@
enable_terms_and_conditions: {% if enable_terms_and_conditions %} true {% else %} false {% endif %},
is_default_admin: {% if is_default_admin %} true {% else %} false {% endif %},
enable_file_scan: {% if enable_file_scan %} true {% else %} false {% endif %},
enable_work_weixin_departments: {% if enable_work_weixin_departments %} true {% else %} false {% endif %},
enable_work_weixin: {% if enable_work_weixin %} true {% else %} false {% endif %},
admin_permissions: {
"can_view_system_info": {% if user.admin_permissions.can_view_system_info %} true {% else %} false {% endif %},
"can_view_statistic": {% if user.admin_permissions.can_view_statistic %} true {% else %} false {% endif %},

View File

@@ -35,7 +35,7 @@ def sso(request):
if getattr(settings, 'ENABLE_CAS', False):
return HttpResponseRedirect(reverse('cas_ng_login') + next_param)
if getattr(settings, 'ENABLE_WORK_WEIXIN_OAUTH', False):
if getattr(settings, 'ENABLE_WORK_WEIXIN', False):
return HttpResponseRedirect(reverse('work_weixin_oauth_login') + next_param)
return HttpResponseRedirect(next_page)

View File

@@ -98,7 +98,7 @@ try:
from seahub.settings import ENABLE_FILE_SCAN
except ImportError:
ENABLE_FILE_SCAN = False
from seahub.work_weixin.settings import ENABLE_WORK_WEIXIN_DEPARTMENTS
from seahub.work_weixin.settings import ENABLE_WORK_WEIXIN
logger = logging.getLogger(__name__)
@@ -133,7 +133,7 @@ def sysadmin(request):
'enable_limit_ipaddress': ENABLE_LIMIT_IPADDRESS,
'trash_repos_expire_days': expire_days if expire_days > 0 else 30,
'enable_file_scan': ENABLE_FILE_SCAN,
'enable_work_weixin_departments': ENABLE_WORK_WEIXIN_DEPARTMENTS,
'enable_work_weixin': ENABLE_WORK_WEIXIN,
})
@login_required
@@ -148,7 +148,7 @@ def sysadmin_react_fake_view(request):
'enable_guest_invitation': ENABLE_GUEST_INVITATION,
'enable_terms_and_conditions': config.ENABLE_TERMS_AND_CONDITIONS,
'enable_file_scan': ENABLE_FILE_SCAN,
'enable_work_weixin_departments': ENABLE_WORK_WEIXIN_DEPARTMENTS,
'enable_work_weixin': ENABLE_WORK_WEIXIN,
})
@login_required

View File

@@ -3,13 +3,13 @@
from django.conf import settings
# # work weixin base
ENABLE_WORK_WEIXIN = getattr(settings, 'ENABLE_WORK_WEIXIN', False)
WORK_WEIXIN_CORP_ID = getattr(settings, 'WORK_WEIXIN_CORP_ID', '')
WORK_WEIXIN_AGENT_SECRET = getattr(settings, 'WORK_WEIXIN_AGENT_SECRET', '')
WORK_WEIXIN_ACCESS_TOKEN_URL = getattr(settings, 'WORK_WEIXIN_ACCESS_TOKEN_URL',
'https://qyapi.weixin.qq.com/cgi-bin/gettoken')
# # admin work weixin departments
ENABLE_WORK_WEIXIN_DEPARTMENTS = getattr(settings, 'ENABLE_WORK_WEIXIN_DEPARTMENTS', False)
WORK_WEIXIN_DEPARTMENTS_URL = getattr(settings, 'WORK_WEIXIN_DEPARTMENTS_URL',
'https://qyapi.weixin.qq.com/cgi-bin/department/list')
WORK_WEIXIN_DEPARTMENT_MEMBERS_URL = getattr(settings, 'WORK_WEIXIN_DEPARTMENT_MEMBERS_URL',
@@ -17,7 +17,6 @@ WORK_WEIXIN_DEPARTMENT_MEMBERS_URL = getattr(settings, 'WORK_WEIXIN_DEPARTMENT_M
# # work weixin oauth
WORK_WEIXIN_AGENT_ID = getattr(settings, 'WORK_WEIXIN_AGENT_ID', '')
ENABLE_WORK_WEIXIN_OAUTH = getattr(settings, 'ENABLE_WORK_WEIXIN_OAUTH', False)
WORK_WEIXIN_UID_PREFIX = WORK_WEIXIN_CORP_ID + '_'
WORK_WEIXIN_USER_INFO_AUTO_UPDATE = getattr(settings, 'WORK_WEIXIN_USER_INFO_AUTO_UPDATE', True)
WORK_WEIXIN_AUTHORIZATION_URL = getattr(settings, 'WORK_WEIXIN_AUTHORIZATION_URL',
@@ -28,7 +27,6 @@ WORK_WEIXIN_GET_USER_PROFILE_URL = getattr(settings, 'WORK_WEIXIN_GET_USER_PROFI
'https://qyapi.weixin.qq.com/cgi-bin/user/get')
# # work weixin notifications
ENABLE_WORK_WEIXIN_NOTIFICATIONS = getattr(settings, 'ENABLE_WORK_WEIXIN_NOTIFICATIONS', False)
WORK_WEIXIN_NOTIFICATIONS_URL = getattr(settings, 'WORK_WEIXIN_NOTIFICATIONS_URL',
'https://qyapi.weixin.qq.com/cgi-bin/message/send')

View File

@@ -8,11 +8,11 @@ import requests
from django.core.cache import cache
from seahub.utils import normalize_cache_key
from seahub.work_weixin.settings import WORK_WEIXIN_CORP_ID, WORK_WEIXIN_AGENT_SECRET, \
WORK_WEIXIN_ACCESS_TOKEN_URL, ENABLE_WORK_WEIXIN_DEPARTMENTS, \
WORK_WEIXIN_ACCESS_TOKEN_URL, ENABLE_WORK_WEIXIN, \
WORK_WEIXIN_DEPARTMENTS_URL, WORK_WEIXIN_DEPARTMENT_MEMBERS_URL, \
ENABLE_WORK_WEIXIN_OAUTH, WORK_WEIXIN_AGENT_ID, WORK_WEIXIN_AUTHORIZATION_URL, \
WORK_WEIXIN_AGENT_ID, WORK_WEIXIN_AUTHORIZATION_URL, \
WORK_WEIXIN_GET_USER_INFO_URL, WORK_WEIXIN_GET_USER_PROFILE_URL, \
ENABLE_WORK_WEIXIN_NOTIFICATIONS, WORK_WEIXIN_NOTIFICATIONS_URL
WORK_WEIXIN_NOTIFICATIONS_URL
from seahub.profile.models import Profile
logger = logging.getLogger(__name__)
@@ -66,21 +66,22 @@ def handler_work_weixin_api_response(response):
def work_weixin_base_check():
""" work weixin base check
"""
if not ENABLE_WORK_WEIXIN:
return False
if not WORK_WEIXIN_CORP_ID or not WORK_WEIXIN_AGENT_SECRET or not WORK_WEIXIN_ACCESS_TOKEN_URL:
logger.error('work weixin base relevant settings invalid.')
logger.error('WORK_WEIXIN_CORP_ID: %s' % WORK_WEIXIN_CORP_ID)
logger.error('WORK_WEIXIN_AGENT_SECRET: %s' % WORK_WEIXIN_AGENT_SECRET)
logger.error('WORK_WEIXIN_ACCESS_TOKEN_URL: %s' % WORK_WEIXIN_ACCESS_TOKEN_URL)
return False
return True
def work_weixin_oauth_check():
""" use for work weixin login and profile bind
"""
if not ENABLE_WORK_WEIXIN_OAUTH:
return False
else:
if not work_weixin_base_check():
return False
@@ -101,9 +102,6 @@ def work_weixin_oauth_check():
def admin_work_weixin_departments_check():
""" use for admin work weixin departments
"""
if not ENABLE_WORK_WEIXIN_DEPARTMENTS:
return False
else:
if not work_weixin_base_check():
return False
@@ -120,9 +118,6 @@ def admin_work_weixin_departments_check():
def work_weixin_notifications_check():
""" use for send work weixin notifications
"""
if not ENABLE_WORK_WEIXIN_NOTIFICATIONS:
return False
else:
if not work_weixin_base_check():
return False