mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 16:31:13 +00:00
BigIntegerField
This commit is contained in:
@@ -33,10 +33,9 @@ from seahub.dingtalk.settings import ENABLE_DINGTALK, \
|
||||
DINGTALK_DEPARTMENT_LIST_DEPARTMENT_URL, \
|
||||
DINGTALK_DEPARTMENT_GET_DEPARTMENT_URL, \
|
||||
DINGTALK_DEPARTMENT_GET_DEPARTMENT_USER_LIST_URL, \
|
||||
DINGTALK_DEPARTMENT_USER_SIZE
|
||||
DINGTALK_DEPARTMENT_USER_SIZE, DINGTALK_PROVIDER
|
||||
|
||||
DEPARTMENT_OWNER = 'system admin'
|
||||
DINGTALK_PROVIDER = 'dingtalk'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -301,7 +300,7 @@ class AdminDingtalkDepartmentsImport(APIView):
|
||||
sub_department_resp_json = requests.get(DINGTALK_DEPARTMENT_LIST_DEPARTMENT_URL, params=data).json()
|
||||
sub_department_list = sub_department_resp_json.get('department', [])
|
||||
department_list = current_department_list + sub_department_list
|
||||
department_list = sorted(department_list, key=lambda x:x['dept_id'])
|
||||
department_list = sorted(department_list, key=lambda x:x['id'])
|
||||
|
||||
# get department user list
|
||||
data = {
|
||||
@@ -322,7 +321,7 @@ class AdminDingtalkDepartmentsImport(APIView):
|
||||
# check department argument
|
||||
new_group_name = department_obj.get('name')
|
||||
department_obj_id = department_obj.get('id')
|
||||
parent_department_id = department_obj.get('parentid')
|
||||
parent_department_id = department_obj.get('parentid', 0)
|
||||
if department_obj_id is None or not new_group_name or not validate_group_name(new_group_name):
|
||||
failed_msg = self._api_department_failed_msg(
|
||||
department_obj_id, new_group_name, '部门参数错误')
|
||||
@@ -360,10 +359,9 @@ class AdminDingtalkDepartmentsImport(APIView):
|
||||
|
||||
ExternalDepartment.objects.create(
|
||||
group_id=group_id,
|
||||
parent_group_id=parent_group_id,
|
||||
provider=DINGTALK_PROVIDER,
|
||||
outer_id=department_obj_id,
|
||||
outer_parent_id=parent_department_id,
|
||||
provider=DINGTALK_PROVIDER,
|
||||
)
|
||||
|
||||
department_map_to_group_dict[department_obj_id] = group_id
|
||||
|
@@ -351,7 +351,7 @@ class AdminWorkWeixinDepartmentsImport(APIView):
|
||||
# check department argument
|
||||
new_group_name = department_obj.get('name')
|
||||
department_obj_id = department_obj.get('id')
|
||||
parent_department_id = department_obj.get('parentid')
|
||||
parent_department_id = department_obj.get('parentid', 0)
|
||||
if department_obj_id is None or not new_group_name or not validate_group_name(new_group_name):
|
||||
failed_msg = self._api_department_failed_msg(
|
||||
department_obj_id, new_group_name, '部门参数错误')
|
||||
@@ -389,10 +389,9 @@ class AdminWorkWeixinDepartmentsImport(APIView):
|
||||
|
||||
ExternalDepartment.objects.create(
|
||||
group_id=group_id,
|
||||
parent_group_id=parent_group_id,
|
||||
provider=WORK_WEIXIN_PROVIDER,
|
||||
outer_id=department_obj_id,
|
||||
outer_parent_id=parent_department_id,
|
||||
provider=WORK_WEIXIN_PROVIDER,
|
||||
)
|
||||
|
||||
department_map_to_group_dict[department_obj_id] = group_id
|
||||
|
@@ -1,7 +1,6 @@
|
||||
# Copyright (c) 2012-2016 Seafile Ltd.
|
||||
import datetime
|
||||
import hashlib
|
||||
from seahub.group.utils import group_id_to_name
|
||||
import urllib.request, urllib.parse, urllib.error
|
||||
import logging
|
||||
|
||||
@@ -173,10 +172,9 @@ class ExternalDepartmentManager(models.Manager):
|
||||
|
||||
class ExternalDepartment(models.Model):
|
||||
group_id = models.IntegerField(unique=True)
|
||||
parent_group_id = models.IntegerField()
|
||||
outer_id = models.IntegerField()
|
||||
outer_parent_id = models.IntegerField()
|
||||
provider = models.CharField(max_length=32)
|
||||
outer_id = models.BigIntegerField()
|
||||
outer_parent_id = models.BigIntegerField()
|
||||
|
||||
objects = ExternalDepartmentManager()
|
||||
|
||||
|
@@ -28,3 +28,6 @@ DINGTALK_DEPARTMENT_USER_SIZE = 100
|
||||
DINGTALK_MESSAGE_SEND_TO_CONVERSATION_URL = getattr(settings, 'DINGTALK_MESSAGE_SEND_TO_CONVERSATION_URL', 'https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2')
|
||||
|
||||
DINGTALK_GET_DETAILED_USER_INFO_URL = getattr(settings, 'DINGTALK_GET_DETAILED_USER_INFO_URL', 'https://oapi.dingtalk.com/user/get')
|
||||
|
||||
# constants
|
||||
DINGTALK_PROVIDER = 'dingtalk'
|
||||
|
@@ -248,6 +248,7 @@ INSTALLED_APPS = [
|
||||
'seahub.file_tags',
|
||||
'seahub.related_files',
|
||||
'seahub.work_weixin',
|
||||
'seahub.dingtalk',
|
||||
'seahub.file_participants',
|
||||
'seahub.repo_api_tokens',
|
||||
'seahub.abuse_reports',
|
||||
|
@@ -1286,10 +1286,9 @@ CREATE TABLE `repo_auto_delete` (
|
||||
CREATE TABLE `external_department` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`group_id` int(11) NOT NULL,
|
||||
`parent_group_id` int(11) NOT NULL,
|
||||
`outer_id` int(11) NOT NULL,
|
||||
`outer_parent_id` int(11) NOT NULL,
|
||||
`provider` varchar(32) NOT NULL,
|
||||
`outer_id` bigint(20) NOT NULL,
|
||||
`outer_parent_id` bigint(20) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `group_id` (`group_id`),
|
||||
UNIQUE KEY `external_department_provider_outer_id_8dns6vkw_uniq` (`provider`,`outer_id`)
|
||||
|
Reference in New Issue
Block a user