improve permissison handling in invoice screen (#2965)
This commit is contained in:
@@ -33,46 +33,22 @@ export default class KimaiForm extends KimaiPlugin {
|
||||
this.getContainer().getPlugin('date-range-picker').destroyDateRangePicker(formSelector);
|
||||
}
|
||||
|
||||
getFormData(form) {
|
||||
/**
|
||||
* @param {HTMLFormElement} form
|
||||
* @param {Object} overwrites
|
||||
* @returns {string}
|
||||
*/
|
||||
convertFormDataToQueryString(form, overwrites = {})
|
||||
{
|
||||
let serialized = [];
|
||||
let data = new FormData(form);
|
||||
|
||||
// Loop through each field in the form
|
||||
for (let i = 0; i < form.elements.length; i++) {
|
||||
|
||||
let field = form.elements[i];
|
||||
|
||||
// Don't serialize a couple of field types (button and submit are important to exclude, eg. invoice preview would fail otherwise)
|
||||
if (!field.name || field.disabled || field.type === 'file' || field.type === 'reset' || field.type === 'submit' || field.type === 'button') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// If a multi-select, get all selections
|
||||
if (field.type === 'select-multiple') {
|
||||
for (var n = 0; n < field.options.length; n++) {
|
||||
if (!field.options[n].selected) {
|
||||
continue;
|
||||
}
|
||||
serialized.push({
|
||||
name: field.name,
|
||||
value: field.options[n].value
|
||||
});
|
||||
}
|
||||
} else if ((field.type !== 'checkbox' && field.type !== 'radio') || field.checked) {
|
||||
serialized.push({
|
||||
name: field.name,
|
||||
value: field.value
|
||||
});
|
||||
}
|
||||
for (const key in overwrites) {
|
||||
data.set(key, overwrites[key]);
|
||||
}
|
||||
|
||||
return serialized;
|
||||
}
|
||||
|
||||
convertFormDataToQueryString(formData) {
|
||||
let serialized = [];
|
||||
|
||||
for (let row of formData) {
|
||||
serialized.push(encodeURIComponent(row.name) + "=" + encodeURIComponent(row.value));
|
||||
for (let row of data) {
|
||||
serialized.push(encodeURIComponent(row[0]) + "=" + encodeURIComponent(row[1]));
|
||||
}
|
||||
|
||||
return serialized.join('&');
|
||||
|
||||
Reference in New Issue
Block a user