mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-02-18 14:48:42 -05:00
Add proper validation for module grants (issue #87)
This commit is contained in:
@@ -25,3 +25,4 @@ $lang["employees_update"] = "Update Employee";
|
||||
$lang["employees_username"] = "Username";
|
||||
$lang["employees_username_minlength"] = "The username must be at least 5 characters";
|
||||
$lang["employees_username_required"] = "Username is a required field";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "Actualizar Empleado";
|
||||
$lang["employees_username"] = "Usuario";
|
||||
$lang["employees_username_minlength"] = "El Usuario debe tener, por lo menos, 5 caracteres";
|
||||
$lang["employees_username_required"] = "Usuario es requerido";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "Éditer Employé";
|
||||
$lang["employees_username"] = "Nom d\'utilisateur";
|
||||
$lang["employees_username_minlength"] = "Le Nom d\'utilisateur doit etre long d\'au moins 5 caractères";
|
||||
$lang["employees_username_required"] = "Le Nom d\'utilisateur est requis";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "Ubah Karyawan";
|
||||
$lang["employees_username"] = "Nama Pengguna";
|
||||
$lang["employees_username_minlength"] = "Nama Pengguna minimal 5 huruf";
|
||||
$lang["employees_username_required"] = "Nama Pengguna wajib diisi";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "Update Werknemer";
|
||||
$lang["employees_username"] = "Gebruikersnaam";
|
||||
$lang["employees_username_minlength"] = "Gebruikersnaam moet minstens 5 characters lang zijn";
|
||||
$lang["employees_username_required"] = "Gebruikersnaam moet ingevuld worden";
|
||||
$lang["employees_subpermission_required"] = "Selecteer minstens <20><>n permissie voor elke module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "Обновлять Сотрудник";
|
||||
$lang["employees_username"] = "Имя пользователя";
|
||||
$lang["employees_username_minlength"] = "Имя пользователя должна быть не менее 5 символов";
|
||||
$lang["employees_username_required"] = "Имя пользователи обязательный пробел";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "แก้ไขข้อมูลพนักงา
|
||||
$lang["employees_username"] = "Username";
|
||||
$lang["employees_username_minlength"] = "ชื่อผู้ใช้งานต้องยาวเกิน 5 อักษร";
|
||||
$lang["employees_username_required"] = "จำเป็นต้องกรอกชื่อผู้ใช้งาน";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "Personeli Güncelle";
|
||||
$lang["employees_username"] = "Kullandı Adı";
|
||||
$lang["employees_username_minlength"] = "Kullanıcı Adı en az 5 karakter olmalıdır";
|
||||
$lang["employees_username_required"] = "Kullanıcı Adı zorunlu alandır";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -25,3 +25,4 @@ $lang["employees_update"] = "更新員工";
|
||||
$lang["employees_username"] = "帳號";
|
||||
$lang["employees_username_minlength"] = "帳號必需為五個字元以上";
|
||||
$lang["employees_username_required"] = "帳號為必填";
|
||||
$lang["employees_subpermission_required"] = "Add at least one grant for each module";
|
||||
|
||||
@@ -56,7 +56,7 @@ foreach($all_modules->result() as $module)
|
||||
{
|
||||
?>
|
||||
<li>
|
||||
<?php echo form_checkbox("grants[]",$module->module_id,$this->Employee->has_grant($module->module_id,$person_info->person_id)); ?>
|
||||
<?php echo form_checkbox("grants[]",$module->module_id,$this->Employee->has_grant($module->module_id,$person_info->person_id),"class='module'"); ?>
|
||||
<span class="medium"><?php echo $this->lang->line('module_'.$module->module_id);?>:</span>
|
||||
<span class="small"><?php echo $this->lang->line('module_'.$module->module_id.'_desc');?></span>
|
||||
<?php
|
||||
@@ -104,6 +104,21 @@ echo form_close();
|
||||
//validation and submit handling
|
||||
$(document).ready(function()
|
||||
{
|
||||
|
||||
$.validator.addMethod("module", function (value, element) {
|
||||
var result = true;
|
||||
$(".module").each(function(index, element)
|
||||
{
|
||||
var parent = $(element).parent();
|
||||
var checked = $(element).is(":checked");
|
||||
if ($("ul", parent).length > 0 && result)
|
||||
{
|
||||
result &= !checked || (checked && $("ul > li > input:checked", parent).length > 0);
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}, '<?php echo $this->lang->line('employees_subpermission_required'); ?>');
|
||||
|
||||
$("ul#permission_list > li > input[name='grants[]']").each(function()
|
||||
{
|
||||
var $this = $(this);
|
||||
@@ -112,16 +127,13 @@ $(document).ready(function()
|
||||
var $that = $(this);
|
||||
var updateCheckboxes = function (checked)
|
||||
{
|
||||
if (checked) {
|
||||
$that.removeAttr("disabled");
|
||||
} else {
|
||||
$that.attr("disabled", "disabled");
|
||||
$that.removeAttr("checked", "");
|
||||
}
|
||||
$that.prop("disabled", !checked);
|
||||
!checked && $that.prop("checked", false);
|
||||
}
|
||||
$this.change(function() {
|
||||
updateCheckboxes($this.is(":checked"));
|
||||
});
|
||||
updateCheckboxes($this.is(":checked"));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -166,29 +178,7 @@ $(document).ready(function()
|
||||
{
|
||||
equalTo: "#password"
|
||||
},
|
||||
email: "email",
|
||||
"grants[]" : {
|
||||
required : function(element) {
|
||||
var checked = false;
|
||||
$("ul#permission_list > li > input:checkbox").each(function()
|
||||
{
|
||||
if ($(this).is(":checked")) {
|
||||
var has_children = false;
|
||||
$("ul > li > input:checkbox", $(this).parent()).each(function()
|
||||
{
|
||||
has_children = true;
|
||||
checked |= $(this).is(":checked");
|
||||
});
|
||||
if (has_children && !checked)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
return !checked;
|
||||
},
|
||||
minlength: 1
|
||||
}
|
||||
email: "email"
|
||||
},
|
||||
messages:
|
||||
{
|
||||
@@ -216,8 +206,7 @@ $(document).ready(function()
|
||||
{
|
||||
equalTo: "<?php echo $this->lang->line('employees_password_must_match'); ?>"
|
||||
},
|
||||
email: "<?php echo $this->lang->line('common_email_invalid_format'); ?>",
|
||||
"grants[]": "fill in correctly!!"
|
||||
email: "<?php echo $this->lang->line('common_email_invalid_format'); ?>"
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
2
dist/opensourcepos.js
vendored
2
dist/opensourcepos.js
vendored
@@ -12716,7 +12716,7 @@ function set_feedback(text, classname, keep_displayed)
|
||||
|
||||
;(function($){
|
||||
//keylisteners
|
||||
$.each(['customers', 'items', 'reports', 'receivings', 'sales', 'employees', 'config', 'giftcards'], function(key, value) {
|
||||
$.each(['customers', 'items', 'reports', 'receivings', 'sales'], function(key, value) {
|
||||
$(window).jkey('f' + (key+1), function(){
|
||||
window.location = BASE_URL + '/' + value + '/index';
|
||||
});
|
||||
|
||||
6
dist/opensourcepos.min.js
vendored
6
dist/opensourcepos.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -38,7 +38,7 @@ function set_feedback(text, classname, keep_displayed)
|
||||
|
||||
;(function($){
|
||||
//keylisteners
|
||||
$.each(['customers', 'items', 'reports', 'receivings', 'sales', 'employees', 'config', 'giftcards'], function(key, value) {
|
||||
$.each(['customers', 'items', 'reports', 'receivings', 'sales'], function(key, value) {
|
||||
$(window).jkey('f' + (key+1), function(){
|
||||
window.location = BASE_URL + '/' + value + '/index';
|
||||
});
|
||||
|
||||
@@ -24,3 +24,4 @@ employees_update,Update Werknemer,Actualizar Empleado,Update Employee,Éditer Em
|
||||
employees_username,Gebruikersnaam,Usuario,Username,Nom d\'utilisateur,帳號,Имя пользователя,Username,Kullandı Adı,Nama Pengguna
|
||||
employees_username_minlength,Gebruikersnaam moet minstens 5 characters lang zijn,"El Usuario debe tener, por lo menos, 5 caracteres",The username must be at least 5 characters,Le Nom d\'utilisateur doit etre long d\'au moins 5 caractères,帳號必需為五個字元以上,Имя пользователя должна быть не менее 5 символов,ชื่อผู้ใช้งานต้องยาวเกิน 5 อักษร,Kullanıcı Adı en az 5 karakter olmalıdır,Nama Pengguna minimal 5 huruf
|
||||
employees_username_required,Gebruikersnaam moet ingevuld worden,Usuario es requerido,Username is a required field,Le Nom d\'utilisateur est requis,帳號為必填,Имя пользователи обязательный пробел,จำเป็นต้องกรอกชื่อผู้ใช้งาน,Kullanıcı Adı zorunlu alandır,Nama Pengguna wajib diisi
|
||||
employees_subpermission_required,Selecteer minstens <20><>n permissie voor elke module,Add at least one grant for each module,Add at least one grant for each module,Add at least one grant for each module,Add at least one grant for each module,Add at least one grant for each module,Add at least one grant for each module,Add at least one grant for each module,Add at least one grant for each module
|
||||
|
||||
|
Reference in New Issue
Block a user