mirror of
				https://github.com/usmannasir/cyberpanel.git
				synced 2025-10-31 02:15:55 +01:00 
			
		
		
		
	
		
			
	
	
		
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | #!/usr/local/CyberCP/bin/python | ||
|  | import sys | ||
|  | import os.path | ||
|  | import django | ||
|  | sys.path.append('/usr/local/CyberCP') | ||
|  | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings") | ||
|  | try: | ||
|  |     django.setup() | ||
|  | except: | ||
|  |     pass | ||
|  | from loginSystem.models import Administrator, ACL | ||
|  | import argparse | ||
|  | import json | ||
|  | from CLScript.CLMain import CLMain | ||
|  | 
 | ||
|  | 
 | ||
|  | class CloudLinuxAdmins(CLMain): | ||
|  | 
 | ||
|  |     def __init__(self, name, isMain): | ||
|  |         CLMain.__init__(self) | ||
|  |         self.name = name | ||
|  |         if isMain == 'true': | ||
|  |             self.isMain = 1 | ||
|  |         else: | ||
|  |             self.isMain = 0 | ||
|  | 
 | ||
|  |     def listAll(self): | ||
|  |         users = [] | ||
|  |         acl = ACL.objects.get(name='admin') | ||
|  |         for items in Administrator.objects.filter(acl=acl): | ||
|  | 
 | ||
|  |             if items.userName == 'admin': | ||
|  |                 isMain = True | ||
|  |             else: | ||
|  |                 isMain = False | ||
|  | 
 | ||
|  |             if self.isMain: | ||
|  |                 if isMain == False: | ||
|  |                     continue | ||
|  | 
 | ||
|  |             if self.name != None: | ||
|  |                 if self.name != items.userName: | ||
|  |                     continue | ||
|  | 
 | ||
|  |             user = {'name': items.userName, | ||
|  |                     "locale_code": "EN_us", | ||
|  |                     "unix_user": None, | ||
|  |                      "email": items.email, | ||
|  |                      "is_main": isMain | ||
|  |                     } | ||
|  | 
 | ||
|  |             users.append(user) | ||
|  | 
 | ||
|  | 
 | ||
|  |         ## Add root users | ||
|  | 
 | ||
|  |         admin = Administrator.objects.get(userName='admin') | ||
|  | 
 | ||
|  |         user = {'name': 'root', | ||
|  |                 "locale_code": "EN_us", | ||
|  |                 "unix_user": 'root', | ||
|  |                 "email": admin.email, | ||
|  |                 "is_main": True | ||
|  |                 } | ||
|  | 
 | ||
|  |         ## | ||
|  | 
 | ||
|  |         users.append(user) | ||
|  | 
 | ||
|  |         final = {'data': users, 'metadata': self.initialMeta} | ||
|  |         print(json.dumps(final)) | ||
|  | 
 | ||
|  | 
 | ||
|  | if __name__ == '__main__': | ||
|  |     parser = argparse.ArgumentParser(description='CyberPanel CloudLinux Manager') | ||
|  |     parser.add_argument('-n','--name', help='Owner') | ||
|  |     parser.add_argument('-m', '--is-main', help='Owner') | ||
|  | 
 | ||
|  |     args = vars(parser.parse_args()) | ||
|  | 
 | ||
|  |     pi = CloudLinuxAdmins(args['name'], args['is_main']) | ||
|  |     try: | ||
|  |         pi.listAll() | ||
|  |     except: | ||
|  |         pi.listAll() |