![]() 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 : |
hr.task_templates.deleteTaskTemplate = function(host, id){ return new Promise(function(resolve,reject){ ModalElement.show_loading(); FormClass.api_call({ url: "task_templates_delete.php", params: [{name: "id", value: id}], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ var index = host.database.task_templates.getIndex(id); host.database.task_templates.items.splice(index, 1); resolve(); } else if (message == "lock_system"){ ModalElement.alert({message: LanguageModule.text("war_txt_system_lock")}); } else if (message == "failed_used"){ ModalElement.alert({ message: LanguageModule.text("war_txt_can_not_delete") }); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; hr.task_templates.deleteTaskTemplateConfirm = function(host, id){ return new Promise(function(resolve,reject){ var index = host.database.task_templates.getIndex(id); ModalElement.question({ title: LanguageModule.text("war_title_delete_task_template"), message: LanguageModule.text2("war_txt_detele", [host.database.task_templates.items[index].name]), onclick: function(sel){ if (sel == 0){ hr.task_templates.deleteTaskTemplate(host, id).then(function(value){ resolve(value); }); } } }); }); }; hr.task_templates.addTaskTemplatesubmit = function(host, id, getValueFunction){ return new Promise(function(resolve,reject){ var data = getValueFunction(); if (!data) return; var oldData; if (id != 0){ oldData = host.dataTaskTemplateEdit; } else { oldData = { name: "", comment: "", available: 1 }; } var ischange = contentModule.isChanged(oldData, data, [ "name", "comment", "available", "task_name", "task_status", "task_expire_time", "task_reminder", "task_assign_to", "task_participant", "task_result" ]); if (!ischange){ ModalElement.close(); hr.menu.changeCurrentUrlTab(host, "templates"); return; } for (var i = 0; i < host.database.task_templates.items.length; i++){ if (host.database.task_templates.items[i].id == id) continue; if (host.database.task_templates.items[i].name == data.name){ ModalElement.alert({message: LanguageModule.text("war_txt_exist_name")}); return; } } var rs = { id: id, groupid: data.groupid, name: data.name, comment: data.comment, available: data.available ? 1 : 0 }; rs.content = { task_name: data.task_name, task_status: data.task_status, task_expire_time: data.task_expire_time, task_reminder: data.task_reminder, task_assign_to: data.task_assign_to, task_participant: data.task_participant, task_result: data.task_result } if (id != 0){ rs.ver = host.dataTaskTemplateEdit.ver; } else { rs.ver = 1; } rs.extrainfo = EncodingClass.string.fromVariable(data.extrainfo); rs.content = EncodingClass.string.fromVariable(rs.content); ModalElement.show_loading(); FormClass.api_call({ url: "task_template_save.php", params: [{name: "data", value: EncodingClass.string.fromVariable(rs)}], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); st.extrainfo = EncodingClass.string.toVariable(st.extrainfo); if (id != 0){ var index = host.database.task_templates.getIndex(id); host.database.task_templates.items[index] = st; host.dataTaskTemplateEdit = host.database.task_templates.items[index]; } else { id = st.id; data.id = id; host.id = id; host.database.task_templates.items.push(st); host.dataTaskTemplateEdit = st; } resolve(hr.task_templates.getCellTaskTemplate(host, id)); ModalElement.close(); hr.menu.changeCurrentUrlTab(host, "templates"); } else if (message == "lock_system"){ ModalElement.alert({message: LanguageModule.text("war_txt_system_lock")}); } else if (message == "deleted" || message == "edited"){ ModalElement.alert({ message: LanguageModule.text("war_txt_failed_ver_reload_data") }); } else if (message == "exist_name"){ ModalElement.alert({message: LanguageModule.text("war_txt_exist_name")}); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; hr.task_templates.addTaskTemplateClose = function(host, id, getValueFunction, resolve, resolveAdd){ var data = getValueFunction(); if (!data) { ModalElement.close(); ModalElement.close(); hr.menu.changeCurrentUrlTab(host, "templates"); return; } var oldData; if (id != 0){ oldData = host.dataTaskTemplateEdit; } else { oldData = { name: "", comment: "", available: 1 }; } var ischange = contentModule.isChanged(oldData, data, ["name", "comment", "available"]); if (!ischange){ ModalElement.close(); hr.menu.changeCurrentUrlTab(host, "templates"); return; } contentModule.questionChange({ onclick: function(sel){ if (sel == 0){ if (host.id == 0){ hr.task_templates.addTaskTemplatesubmit(host, host.id, getValueFunction).then(function(value){ resolveAdd(value); }); } else { hr.task_templates.addTaskTemplatesubmit(host, host.id, getValueFunction).then(function(value){ resolve(value); }); } } else if (sel == 1){ ModalElement.close(); hr.menu.changeCurrentUrlTab(host, "templates"); } } }); }; hr.task_templates.redrawDetails = function(host, id, resolve, resolveAdd){ if (id > 0) hr.menu.changeCurrentUrlTab(host, "task_templates/" + id); host.id = id; function redraw(value){ var formContainer = DOMElement.div({}); ModalElement.showWindow({ title: (id == 0)? LanguageModule.text("txt_add") : LanguageModule.text("txt_edit"), bodycontent: formContainer, buttonlist: [ { text: LanguageModule.text("txt_save"), onclick: function(){ if (host.id == 0){ hr.task_templates.addTaskTemplatesubmit(host, host.id, getValueFunction).then(function(value){ resolveAdd(value); }); } else { hr.task_templates.addTaskTemplatesubmit(host, host.id, getValueFunction).then(function(value){ resolve(value); }); } } }, { text: LanguageModule.text("txt_cancel"), onclick: function(){ hr.task_templates.addTaskTemplateClose(host, host.id, getValueFunction, resolve, resolveAdd); } } ] }); var getValueFunction; contentModule.makeFormData({ typeid: host.form_config.task_templates.typeid, formid: host.form_config.task_templates.input_form, initialValue: value, formContainer: formContainer, typelists: host.database.typelists.items, variableType: "system" }).then(function(getValue){ getValueFunction = getValue; absol.form.traversal(formContainer.formFragment.view, function(item){ if (item.node.tag === "TextInput") { item.node.domElt.focus(); item.stop(); return; } if (id < 0){ var activeElt = absol.form.findComponent(formContainer.formFragment.view, { name: 'type_task_template_active', depth: false }); if (activeElt) activeElt.attributes.disabled = true; } }); }); }; if (id != 0){ redraw(host.dataTaskTemplateEdit); } else { redraw({groupid: host.groupidToAddNewRecord}); } }; hr.task_templates.addTaskTemplate = function(host, id, resolve, resolveAdd){ if (id == 0){ var groupItems = host.database.template_groups.items.map(function(elt){ return { value: elt.id, text: elt.name, sortText: absol.string.nonAccentVietnamese(elt.name.toLowerCase()) }; }); groupItems.sort(function(a, b){ if (a.sortText > b.sortText) return 1; if (a.sortText < b.sortText) return -1; return 0; }); host.funcs.formTaskTemplateChooseGroup(groupItems).then(function(value){ if (value === null) return; host.groupidToAddNewRecord = value; hr.task_templates.redrawDetails(host, id, resolve, resolveAdd); }); } else { if (host.database.task_templates.getIndex(id) < 0) return; ModalElement.show_loading(); FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "task_templates_load_by_id"}, {name: "id", value: id} ], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); if (st.id !== undefined){ st.content = EncodingClass.string.toVariable(st.content); st.task_name = st.content.task_name; st.task_status = st.content.task_status; st.task_expire_time = st.content.task_expire_time; st.task_reminder = st.content.task_reminder; st.task_assign_to = st.content.task_assign_to; st.task_participant = st.content.task_participant; st.task_result = st.content.task_result; host.dataTaskTemplateEdit = st; if (host.dataTaskTemplateEdit.extrainfo == "") host.dataTaskTemplateEdit.extrainfo = {}; else host.dataTaskTemplateEdit.extrainfo = EncodingClass.string.toVariable(host.dataTaskTemplateEdit.extrainfo); } else { var index = host.database.task_templates.getIndex(id); host.dataTaskTemplateEdit = host.database.task_templates.items[index]; host.dataTaskTemplateEdit.content = EncodingClass.string.toVariable(host.dataTaskTemplateEdit.content); host.dataTaskTemplateEdit.task_name = host.dataTaskTemplateEdit.content.task_name; host.dataTaskTemplateEdit.task_status = host.dataTaskTemplateEdit.content.task_status; host.dataTaskTemplateEdit.task_expire_time = host.dataTaskTemplateEdit.content.task_expire_time; host.dataTaskTemplateEdit.task_reminder = host.dataTaskTemplateEdit.content.task_reminder; host.dataTaskTemplateEdit.task_assign_to = host.dataTaskTemplateEdit.content.task_assign_to; host.dataTaskTemplateEdit.task_participant = host.dataTaskTemplateEdit.content.task_participant; host.dataTaskTemplateEdit.task_result = host.dataTaskTemplateEdit.content.task_result; } hr.task_templates.redrawDetails(host, id, resolve, resolveAdd); } else if (message == "war_txt_failed_data"){ ModalElement.alert({ message: LanguageModule.text("war_txt_failed_data"), func: function(){ hr.task_templates.init(host); } }); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); } }; hr.task_templates.getCellTaskTemplate = function(host, id){ var index = host.database.task_templates.getIndex(id); var func = { edit: function(resolve){ hr.task_templates.addTaskTemplate(host, id, resolve); } }; if (id > 0) func.delete = function(){ return new Promise(function(resolve,reject){ hr.task_templates.deleteTaskTemplateConfirm(host, id).then(function(value){ resolve(value); }); }); }; var res = host.database.task_templates.items[index]; res.func = func; return res; }; hr.task_templates.redraw = function(host, groupid){ var displayDic = { name: true, groupid: true, available: true }; var columnList = contentModule.getColumnListFromDatatype(host, "task_templates", displayDic); var redrawTableFunc = function(){ var data = []; for (var i = 0; i < host.database.task_templates.items.length; i++){ if (groupid == 0 || host.database.task_templates.items[i].groupid == groupid) { data.push(hr.task_templates.getCellTaskTemplate(host, host.database.task_templates.items[i].id)); } } contentModule.getColumnListConfig(host, host.user_column_configsDic, columnList, "task_template_list").then(function(value){ host.configColumnTaskTemplates = value; host.dataView = host.funcs.formTaskTemplatesContentData({ data: data, inputsearchbox: host.inputsearchbox, configColumnTaskTemplates: host.configColumnTaskTemplates, configColumnFunc: function(){ contentModule.userColumnConfigForm({ type: "task_template_list", columnList: columnList }).then(function(value){ host.user_column_configsDic["task_template_list"] = value; redrawTableFunc(); }); } }); host.data_container.appendChild(host.dataView); }); }; redrawTableFunc(); }; hr.task_templates.init = function(host){ return new Promise(function(resolveMn, rejectMn){ hr.menu.changeCurrentUrlTab(host, "templates"); host.database = {}; ModalElement.show_loading(); FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "task_templates_load_init"} ], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); contentModule.makeDatabaseContent(host, content); host.database.template_groups.items.unshift({ id: -1, name: LanguageModule.text("txt_onboarding"), comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.template_groups.items.unshift({ id: -2, name: "Khác...", comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.task_templates.items.forEach(function(elt){ elt.content = EncodingClass.string.toVariable(elt.content); elt.task_name = elt.content.task_name, elt.task_status = elt.content.task_status, elt.task_expire_time = elt.content.task_expire_time, elt.task_reminder = elt.content.task_reminder, elt.task_assign_to = elt.content.task_assign_to, elt.task_participant = elt.content.task_participant, elt.task_result = elt.content.task_result }); host.form_config = contentModule.configVariable(host); contentModule.makeInputFormDecode(host.database.input_forms.items); hr.input_form.loadFormConstructorToAssembler(host.database.input_forms.items, host.database.typelists.items); host.user_column_configsDic = contentModule.getUser_column_configsDic(host); host.inputsearchbox = absol.buildDom({ tag:'searchcrosstextinput', style: { width: "var(--searchbox-width)" }, props:{ placeholder: LanguageModule.text("txt_search") } }); var cmdbutton = { close: function(host){ return function (event, me) { if (hr.isMobile){ host.holder.selfRemove(); hr.menu.loadPage(100); } else { hr.menu.tabPanel.removeTab(host.holder.id); } } } (host), add: function(host){ return function (event, me) { hr.task_templates.addTaskTemplate(host, 0, function onSave(value){ host.newRecord = host.newRecord.updateCurrentRow(host.funcs.formTaskTemplateGetRow(host.configColumnTaskTemplates, value)); }, function onAdd(value){ host.newRecord = host.dataView.insertRow(host.funcs.formTaskTemplateGetRow(host.configColumnTaskTemplates, value)); }); } } (host) }; host.groupid = 0; var groupItems = host.database.template_groups.items.map(function(elt){ return {value: elt.id, text: elt.name}; }); groupItems.unshift({value: 0, text: LanguageModule.text("txt_all")}); var groupChange = function(host){ return function(groupid){ hr.task_templates.redraw(host, groupid); } }(host); host.data_container = DOMElement.div({attrs: {style: {paddingBottom: "var(--footer-margin)"}}}); host.holder.addChild(host.frameList); var singlePage = host.funcs.formTaskTemplatesInit({ cmdbutton: cmdbutton, data_container: host.data_container, inputsearchbox: host.inputsearchbox, groupItems: groupItems, groupChange: groupChange }); host.frameList.addChild(singlePage); singlePage.requestActive(); hr.task_templates.redraw(host, 0); resolveMn(host); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); };