VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/keeview_app/html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/keeview_app/html/data_module_1.js
'use strict';

data_module.loadInitialForm = function(){
    return new Promise(function(rs, rj){
        data_module.loadTables(["forms"], function () {
            var pList = {
                input_forms: [],
                output_forms: [],
                mobile_input_forms: [],
                mobile_output_forms: []
            };
            data_module.cacheContent_forms.psearch({
                searchFunc: function (record) {
                    return {
                        id: record.id,
                        task: record.task
                    }
                },
                postFunc: function (record) {
                    switch (record.task) {
                        case "input":
                            pList.input_forms.push(record.id);
                            break;
                        case "m_input":
                            pList.mobile_input_forms.push(record.id);
                            break;
                        case "output":
                            pList.output_forms.push(record.id);
                            break;
                        case "m_output":
                            pList.mobile_output_forms.push(record.id);
                            break;
                    }
                    return null;
                },
                callbackfunc: function () {
                    pList.input_forms.sort((a, b) => (a - b));
                    pList.output_forms.sort((a, b) => (a - b));
                    pList.mobile_input_forms.sort((a, b) => (a - b));
                    pList.mobile_output_forms.sort((a, b) => (a - b));
                    Promise.all(
                        [
                            data_module.cacheContent_forms.promiseReads(pList.input_forms),
                            data_module.cacheContent_forms.promiseReads(pList.output_forms),
                            data_module.cacheContent_forms.promiseReads(pList.mobile_input_forms),
                            data_module.cacheContent_forms.promiseReads(pList.mobile_output_forms)
                        ]
                    ).then(function (values) {
                        Promise.all(
                            [
                                form_module.defaultInputFormForPrimitiveType(),
                                form_module.defaultOutputFormForPrimitiveType(),
                                form_module.defaultMobileInputFormForPrimitiveType(),
                                form_module.defaultMobileOutputFormForPrimitiveType(),
                            ]
                        ).then(function(defaulForm){
                            rs({
                                input_forms: values[0].concat(defaulForm[0]),
                                output_forms: values[1].concat(defaulForm[1]),
                                mobile_input_forms: values[2].concat(defaulForm[2]),
                                mobile_output_forms: values[3].concat(defaulForm[3])
                            });
                        });
                    });
                }
            });
        });
    });
};

data_module.loadActivitiesInit = function(){
    return new Promise(function(resolve, reject){
        var loadData = function(){
            return new Promise(function(rs, rj){
                data_module.loadTables([
                    "configs",
                    "orgs",
                    "employees",
                    "peoples",
                    // "user_column_configs",
                    "employee_groups",
                    "employee_group_members"
                ], function(){
                    data_module.getEmpsFromCacheWorker(false, ["id", "firstid", "orgid", "peopleid", "available", "code"]).then(function(content){
                        data_module.getPeoplesFromCacheByEmployeesWorker(false, ["id", "fullname"], content.employees).then(function(peoples){
                            data_module.loadConfigsByNameWorker("form_config").then(function(form_config){
                                var employees = content.employees;
                                var employeeOfMe = content.employeeOfMe;
                                var orgs = data_module.getOrgsFromCache();
                                var employee_groups = data_module.getDataTablesFromCache("employee_groups");
                                var employee_group_members = data_module.getDataTablesFromCache("employee_group_members");
                                var configs_privileges = data_module.getConfigs_privilegesFromCache("activity_privileges");
                                rs({
                                    form_config: form_config,
                                    orgs: orgs,
                                    employees: employees,
                                    peoples: peoples,
                                    employeeOfMe: employeeOfMe,
                                    configs_privileges: configs_privileges,
                                    employee_groups: employee_groups,
                                    employee_group_members: employee_group_members,
                                    activities: []
                                });
                            })
                        });
                    });
                });
            });
        };
        Promise.all([
            data_module.loadUsersList(),
            loadData(),
            data_module.loadUserColumnConfigsByTypeList(["activities_list"]),
            data_module.loadUserMarkedByName("activities"),
        ]).then(function(values){
            values[1].users = values[0];
            values[1].user_column_configs = values[2];
            values[1].user_marked = values[3];
            resolve(values[1]);
        });
    });
};

data_module.loadUserMarkedByName = function(name) {
    return new Promise(function(rs, rj){
        FormClass.api_call({
            url: "database_load.php",
            params: [
                {name: "task", value: "load_user_marked_by_name"},
                {name: "name", value: name}
            ],
            func: function(success, message){
                if (success) {
                    if (message.substr(0, 2) == "ok") {
                        var content = EncodingClass.string.toVariable(message.substr(2));
                        rs(content);
                    }
                    else {
                        ModalElement.alert({message: "Có lỗi xảy ra"});
                        console.log(message);
                        rj(message);
                    }
                }
                else {
                    ModalElement.alert({message: "Có lỗi xảy ra"});
                    console.log(message);
                    rj(message);
                }
            }
        })
    })
}

data_module.loadActivitiesList = function(){
    return new Promise(function(resolve, reject){
        data_module.loadTables([
            "meetings",
            "meeting_links",
            "tasks",
            "task_links"
        ], function(){
            var meetings = data_module.getDataTablesFromCache("meetings");
            var meeting_links = data_module.getDataTablesFromCache("meeting_links");
            var tasks = data_module.getDataTablesFromCache("tasks");
            var task_links = data_module.getDataTablesFromCache("task_links");
            resolve({
                meetings: meetings,
                meeting_links: meeting_links,
                tasks: tasks,
                task_links: task_links
            });
        });
    });
};


data_module.loadWelcomeData = function(onboardingid){
    return new Promise(function(resolve, reject){
        data_module.loadTables([
            "meetings",
            "meeting_links",
            "tasks",
            "task_links",
            "orgs",
            "employees",
            "peoples",
            "geopos_orgs",
            "employee_managers",
            "employee_positions",
            "positions"
        ], function(){
            var meetings, tasks, meeting_links, task_links;
            var dict = {};
            var m_l_t = data_module.getDataTablesFromCache("meeting_links");
            meeting_links = m_l_t.filter(function(cur){
                if (cur.instanceid == onboardingid && cur.tablename == "onboarding") {
                    dict[cur.meetingid] = 1;
                    return true;
                }
                else return false;
            });
            var m_t = data_module.getDataTablesFromCache("meetings");
            meetings = m_t.filter(function(cur){
                if (dict[cur.id]) {
                    return true;
                }
                else return false;
            });
            dict = {};
            var t_l_t = data_module.getDataTablesFromCache("task_links");
            task_links = t_l_t.filter(function(cur){
                if (cur.instanceid == onboardingid && cur.tablename == "onboarding") {
                    dict[cur.taskid] = 1;
                    return true;
                }
                else return false;
            });
            var t_t = data_module.getDataTablesFromCache("tasks");
            tasks = t_t.filter(function(cur){
                if (dict[cur.id]) {
                    return true;
                }
                else return false;
            });
            var peoples = data_module.getDataTablesFromCache("peoples");
            var geopos_orgs = data_module.getDataTablesFromCache("geopos_orgs");
            var employee_managers = data_module.getDataTablesFromCache("employee_managers");
            var employee_positions = data_module.getDataTablesFromCache("employee_positions");
            var positions = data_module.getDataTablesFromCache("positions");
            var orgs = data_module.getOrgsFromCache();
            var employees = data_module.getEmpsFromCache();
            resolve({
                meetings: meetings,
                meeting_links: meeting_links,
                tasks: tasks,
                task_links: task_links,
                peoples: peoples,
                geopos_orgs: geopos_orgs,
                employee_managers: employee_managers,
                employee_positions: employee_positions,
                positions: positions,
                orgs: orgs,
                employees: employees
            });
        });
    });
};

data_module.loadTimekeepingCodeInit = function(){
    return new Promise(function(resolve, reject){
        data_module.loadTables([
            "orgs",
            "configs",
            "employees",
            "peoples",
            "employee_groups",
            "employee_group_members"
        ], function(){
            var orgs = data_module.getOrgsFromCache();
            var employees = data_module.getEmpsFromCache();
            var peoples = data_module.getDataTablesFromCache("peoples");
            var employeeOfMe = data_module.getEmployeeOfMeFromCache();
            var configs_privileges = data_module.getConfigs_privilegesFromCache("human_resource_privileges");
            var employee_groups = data_module.getDataTablesFromCache("employee_groups");
            var employee_group_members = data_module.getDataTablesFromCache("employee_group_members");
            resolve({
                orgs: orgs,
                employees: employees,
                peoples: peoples,
                employeeOfMe: employeeOfMe,
                configs_privileges: configs_privileges,
                employee_groups: employee_groups,
                employee_group_members: employee_group_members
            });
        });
    });
};


data_module.loadOnboardingInit = function(){
    return new Promise(function(resolve, reject){
        data_module.loadTables([
            "configs",
            "orgs",
            "employees",
            "peoples",
            "employee_managers",
            "positions",
            "employee_positions",
            "employee_groups",
            "employee_group_members",
            "geopos_orgs"
        ], function(){
            var orgs = data_module.getOrgsFromCache();
            var employees = data_module.getEmpsFromCache();
            var peoples = data_module.getDataTablesFromCache("peoples");
            var employeeOfMe = data_module.getEmployeeOfMeFromCache();
            var employee_managers = data_module.getDataTablesFromCache("employee_managers");
            var positions = data_module.getDataTablesFromCache("positions");
            var employee_positions = data_module.getDataTablesFromCache("employee_positions");
            var configs_privileges = data_module.getConfigs_privilegesFromCache("human_resource_privileges");
            var employee_groups = data_module.getDataTablesFromCache("employee_groups");
            var employee_group_members = data_module.getDataTablesFromCache("employee_group_members");
            var geopos_orgs = data_module.getDataTablesFromCache("geopos_orgs");
            resolve({
                orgs: orgs,
                employees: employees,
                peoples: peoples,
                employeeOfMe: employeeOfMe,
                employee_managers: employee_managers,
                positions: positions,
                employee_positions: employee_positions,
                configs_privileges: configs_privileges,
                employee_groups: employee_groups,
                employee_group_members: employee_group_members,
                geopos_orgs: geopos_orgs
            });
        });
    });
};

data_module.loadProcedureInit = function(){
    return new Promise(function(resolve, reject){
        data_module.loadTables([
            "orgs",
            "employees",
            "peoples",
            "employee_managers",
            "employee_groups",
            "employee_group_members"
        ], function(){
            var orgs = data_module.getOrgsFromCache();
            var employees = data_module.getEmpsFromCache();
            var peoples = data_module.getDataTablesFromCache("peoples");
            var employeeOfMe = data_module.getEmployeeOfMeFromCache();
            var employee_managers = data_module.getDataTablesFromCache("employee_managers");
            var employee_groups = data_module.getDataTablesFromCache("employee_groups");
            var employee_group_members = data_module.getDataTablesFromCache("employee_group_members");
            resolve({
                orgs: orgs,
                employees: employees,
                peoples: peoples,
                employeeOfMe: employeeOfMe,
                employee_managers: employee_managers,
                employee_groups: employee_groups,
                employee_group_members: employee_group_members
            });
        });
    });
};

data_module.loadOtherPolicyList = function(){
    return new Promise(function(rs, rj){
        FormClass.api_call({
            url: "database_load.php",
            params: [
                {name: "task", value: 'input_form_load_other_policy_list'}
            ],
            func: function(success, message){
                if (success){
                    if (message.substr(0, 2) == 'ok'){
                        var content = EncodingClass.string.toVariable(message.substr(2));
                        content.other_policies.forEach((cur) => {
                            cur.apply_for = EncodingClass.string.toVariable(cur.apply_for);
                        });
                        rs(content);
                    }
                    else {
                        ModalElement.alert({message: "Có lỗi xảy ra"});
                        rj(message);
                    }
                }
                else {
                    ModalElement.alert({message: "Có lỗi xảy ra"});
                    rj(message);
                }
            }
        })
    });
};

data_module.loadPoliciesData = function(){
    return new Promise(function(rs, rj){
        FormClass.api_call({
            url: "database_load.php",
            params: [
                {name: "task", value: 'load_all_policies'}
            ],
            func: function(success, message){
                if (success){
                    if (message.substr(0, 2) == 'ok'){
                        var content = EncodingClass.string.toVariable(message.substr(2));
                        rs(content);
                    }
                    else {
                        ModalElement.alert({message: "Có lỗi xảy ra"});
                        rj(message);
                    }
                }
                else {
                    ModalElement.alert({message: "Có lỗi xảy ra"});
                    rj(message);
                }
            }
        })
    });
};

data_module.convertExtradata = function(){
    var tablenames = ["peoples", "assets", "employee_salary_decisions", "employee_emulation_reward", "employee_discipline"];
    var run = function(idx){
        ModalElement.alert({message: "Converting: " + tablenames[idx]});
        FormClass.api_call({
            url: "convert_extradata.php",
            params: [{name: "tablename", value: tablenames[idx]}],
            func: function(success, message) {
                if (success){
                    if (message.substr(0, 2) == "ok") {
                        ModalElement.closeAll();
                        if (idx < tablenames.length - 1) {
                            ModalElement.alert({message: "Convert success: " + tablenames[idx]});
                            console.log("convert success: " + tablenames[idx]);
                            run(idx + 1);
                        }
                        else {
                            ModalElement.alert({message: "Done"});
                            console.log("done");
                        }
                        console.log(EncodingClass.string.toVariable(message.substr(2)));
                    }
                    else {
                        ModalElement.alert({message: "error"});
                        console.log(message);
                    }
                }
                else {
                    ModalElement.alert({message: "error"});
                    console.log(message);
                }
            }
        })
    };
    run(0);
}

VaKeR 2022