@@ -86,68 +86,56 @@ def post(self, request, group_id):
8686            error_msg  =  'No group quota.' 
8787            return  api_error (status .HTTP_403_FORBIDDEN , error_msg )
8888
89+         group_id  =  int (group_id )
90+ 
91+         org_id  =  - 1 
8992        if  is_org_context (request ):
9093            # request called by org admin 
9194            org_id  =  request .user .org .org_id 
92-         else :
93-             org_id  =  - 1 
9495
9596        # create group owned repo 
96-         group_id  =  int (group_id )
97-         if  is_pro_version () and  ENABLE_STORAGE_CLASSES :
97+         if  org_id  and  org_id  >  0 :
9898
99-             if  STORAGE_CLASS_MAPPING_POLICY  in  ('USER_SELECT' , 'ROLE_BASED' ):
99+             repo_id  =  seafile_api .org_add_group_owned_repo (
100+                 org_id , group_id , repo_name , permission , password ,
101+                 enc_version = ENCRYPTED_LIBRARY_VERSION ,
102+                 pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
103+                 pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None )
100104
101-                 storages  =  get_library_storages (request )
102-                 storage_id  =  request .data .get ("storage_id" , None )
103-                 if  storage_id  and  storage_id  not  in s ['storage_id' ] for  s  in  storages ]:
104-                     error_msg  =  'storage_id invalid.' 
105-                     return  api_error (status .HTTP_400_BAD_REQUEST , error_msg )
105+         elif  is_pro_version () and  ENABLE_STORAGE_CLASSES  and  \
106+                 STORAGE_CLASS_MAPPING_POLICY  in  ('USER_SELECT' , 'ROLE_BASED' ):
106107
107-                 repo_id  =  seafile_api .add_group_owned_repo (group_id , repo_name ,
108-                         permission , password , enc_version = ENCRYPTED_LIBRARY_VERSION ,
109-                         pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
110-                         pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None ,
111-                         storage_id = storage_id )
112-             else :
113-                 # STORAGE_CLASS_MAPPING_POLICY == 'REPO_ID_MAPPING' 
114-                 if  org_id  and  org_id  >  0 :
115-                     repo_id  =  seafile_api .org_add_group_owned_repo (
116-                         org_id , group_id , repo_name , permission , password ,
117-                         enc_version = ENCRYPTED_LIBRARY_VERSION ,
118-                         pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
119-                         pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None )
120-                 else :
121-                     repo_id  =  seafile_api .add_group_owned_repo (
122-                         group_id , repo_name , permission , password ,
123-                         enc_version = ENCRYPTED_LIBRARY_VERSION ,
124-                         pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
125-                         pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None )
108+             storages  =  get_library_storages (request )
109+             storage_id  =  request .data .get ("storage_id" , None )
110+             if  storage_id  and  storage_id  not  in s ['storage_id' ] for  s  in  storages ]:
111+                 error_msg  =  'storage_id invalid.' 
112+                 return  api_error (status .HTTP_400_BAD_REQUEST , error_msg )
113+ 
114+             repo_id  =  seafile_api .add_group_owned_repo (
115+                 group_id , repo_name , permission , password ,
116+                 enc_version = ENCRYPTED_LIBRARY_VERSION ,
117+                 pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
118+                 pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None ,
119+                 storage_id = storage_id )
126120        else :
127-             if  org_id  and  org_id  >  0 :
128-                 repo_id  =  seafile_api .org_add_group_owned_repo (
129-                     org_id , group_id , repo_name , permission , password ,
130-                     enc_version = ENCRYPTED_LIBRARY_VERSION ,
131-                     pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
132-                     pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None )
133-             else :
134-                 repo_id  =  seafile_api .add_group_owned_repo (group_id , repo_name ,
135-                                                            permission , password ,
136-                                                            enc_version = ENCRYPTED_LIBRARY_VERSION ,
137-                                                            pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
138-                                                            pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None )
121+             repo_id  =  seafile_api .add_group_owned_repo (
122+                 group_id , repo_name , permission , password ,
123+                 enc_version = ENCRYPTED_LIBRARY_VERSION ,
124+                 pwd_hash_algo = ENCRYPTED_LIBRARY_PWD_HASH_ALGO  or  None ,
125+                 pwd_hash_params = ENCRYPTED_LIBRARY_PWD_HASH_PARAMS  or  None )
139126
140127        # for activities 
141128        username  =  request .user .username 
142129        library_template  =  request .data .get ("library_template" , '' )
143130        repo_created .send (sender = None , org_id = org_id , creator = username ,
144-                 repo_id = repo_id , repo_name = repo_name ,
145-                 library_template = library_template )
131+                            repo_id = repo_id , repo_name = repo_name ,
132+                            library_template = library_template )
146133
147134        # for notification 
148135        repo  =  seafile_api .get_repo (repo_id )
149136        share_repo_to_group_successful .send (sender = None , from_user = username ,
150-                 group_id = group_id , repo = repo , path = '/' , org_id = org_id )
137+                                             group_id = group_id , repo = repo ,
138+                                             path = '/' , org_id = org_id )
151139
152140        info  =  get_group_owned_repo_info (request , repo_id )
153141        # TODO 
0 commit comments