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:
@@ -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>
|
||||
|
@@ -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 : '';
|
||||
|
||||
|
@@ -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()
|
||||
|
||||
|
@@ -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 '',
|
||||
}
|
||||
|
||||
|
@@ -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)
|
||||
|
||||
|
@@ -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',)
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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 %},
|
||||
|
@@ -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 %},
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
@@ -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')
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user