Coverage for server/bp/admin.py: 21%

39 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2026-01-26 23:58 +0100

1 

2 

3 

4from flask import Blueprint, request, url_for, render_template, redirect, render_template_string, send_file 

5 

6 

7 

8def create_admin_bp(): 

9 bp = Blueprint('admin', __name__, url_prefix='') 

10 

11 @bp.route("/admin_index") 

12 def index(): 

13 from server.safia import register_user_get_data 

14 user, data_needed, lss = register_user_get_data(request, list_data_needed=["project_id", "otp"]) 

15 

16 id_admin = lss.lib_right.is_user_admin_config(lss.get_user_id()) 

17 if not id_admin: 

18 return redirect(url_for('saxia_interface.index')) 

19 

20 from server.safia import lcs 

21 config_app = lcs.get_config_app() 

22 admin_config_project = config_app.get("admin_config_project", 90) 

23 admin_config_project = lcs.get_non_secure_conf("hc_object_ids/admin_config_project", 9090) 

24 

25 key_data_admin_project = "safia.installation.folders" 

26 

27 config_admin_project = lss.load_conf_project(admin_config_project) 

28 from lib.manaudit.lib_datou_audit import load_sub_json 

29 data_admin_config = load_sub_json(config_admin_project, key_data_admin_project) 

30 

31 return_as_text = """Welcome to admin interface !<br> 

32 This is just a test that needs to be renamed, if you are not admin, please report to doc@saxia.app !<br> 

33 usage=audit_space_disk_installation<br> 

34 """ + str(data_admin_config) 

35 

36 from lib.manaudit.lib_datou_audit import get_list_backup 

37 list_backup = get_list_backup(data_admin_config.get("default").get("history_version_config_folder")) 

38 

39 return_as_text += "<br>List of available backups :<br>" + str(list_backup) 

40 

41 return return_as_text 

42 

43 @bp.route("/api/v1/admin/config/save", methods=["GET"]) 

44 def api_v1_admin_config_save(): 

45 from server.safia import register_user_get_data 

46 user, data_needed, lss = register_user_get_data(request, list_data_needed=["project_id", "otp"]) 

47 

48 id_admin = lss.lib_right.is_user_admin_config(lss.get_user_id()) 

49 if not id_admin: 

50 return redirect(url_for('saxia_interface.index')) 

51 

52 id_version = request.args.get("id_version", None) 

53 if id_version is None: 

54 id_version = "tav" 

55 return "You must provide an id_version parameter, tav for test !" 

56 

57 from auth.lib_conf_system import lcs_global_singleton 

58 lcs_global_singleton.save_all_useful_config(id_version=id_version) 

59 

60 admin_user_id = lss.get_user_id() 

61 

62# lcs_global_singleton.load_config(id_version=id_version, verbose=verbose, 

63# root_output=in_file, admin_user_id=admin_user_id) 

64 

65 return "Save config voilà, to use !" 

66 

67 return bp 

68 

69# usage 

70# from server.bp.fvs import create_fvs_bp 

71# fvs_bp = create_fvs_bp() 

72# app.register_blueprint(fvs_bp)