FSN#36126 Eenvoudiger meerdere personen in groep kunnen zetten
svn path=/Website/trunk/; revision=32911
This commit is contained in:
@@ -56,7 +56,8 @@ function model_fac_groep(groep_key, params)
|
||||
this.includes = {
|
||||
"users": {
|
||||
"model": new model_fac_gebruikersgroep(),
|
||||
"joinfield": "fac_groep"
|
||||
"joinfield": "fac_groep",
|
||||
"multiadd": "user"
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -328,11 +328,13 @@ function scf_RWFIELDTR(model, fld, val, key, params)
|
||||
}
|
||||
else if (predefined == "PRS_PERSLID")
|
||||
{
|
||||
var canmultiadd = fld == params.multiadd && !(key > 0);
|
||||
FCLTpersoonselector(fld,
|
||||
"sg" + fld,
|
||||
{ label: field.label,
|
||||
perslidKey: val?val.id:null,
|
||||
required: params.required
|
||||
required: params.required,
|
||||
multi: canmultiadd
|
||||
});
|
||||
}
|
||||
else if (predefined == "PRS_AFDELING")
|
||||
|
||||
@@ -57,9 +57,12 @@ function scaffolding_save(model, scf_params)
|
||||
var arr = jsondata[params.multiadd]; // Dit zal dan een Array zijn
|
||||
for (var i = 0; i < arr.length; i++)
|
||||
{
|
||||
jsondata[params.multiadd] = arr[i];
|
||||
var restresult = model.REST_POST(params, jsondata);
|
||||
key.push(restresult.key);
|
||||
if (arr[i] > 0)
|
||||
{
|
||||
jsondata[params.multiadd] = arr[i];
|
||||
var restresult = model.REST_POST(params, jsondata);
|
||||
key.push(restresult.key);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -130,6 +130,12 @@ function FCLTpersoonselector(fieldName, objectName, params)
|
||||
<td>
|
||||
<%
|
||||
}
|
||||
if (params.multi)
|
||||
{
|
||||
params.onChange = "onChangeMultiPerson"; // Je mag geen eigen onChange hebben
|
||||
params.required = false; // Multi mag altijd ook 0 zijn
|
||||
}
|
||||
|
||||
if (params.readonly) { %>
|
||||
<span id="<%=fieldName%>_show" class="readonly fldpers<%=params.moreinfo ? " details" : ""%>"
|
||||
<%=params.moreinfo ? " onclick='iface.persoonDetails(\"" + fieldName + "\", \"" + (params.info||"") + "\")'" : "" %>>
|
||||
@@ -190,6 +196,21 @@ function FCLTpersoonselector(fieldName, objectName, params)
|
||||
<%=objectName%>.isBad();
|
||||
<% } %>
|
||||
});
|
||||
<% if (params.multi) { %>
|
||||
function onChangeMultiPerson(key, naam)
|
||||
{
|
||||
if (key < 0)
|
||||
return;
|
||||
<%=objectName%>.setValue(-1, ""); // Wissen en zorgen dat hij in de volgende telling niet meekomt
|
||||
if ($("input[name=<%=fieldName%>][value=" + key + "]").length) // Hij is er al
|
||||
return;
|
||||
var inp = $("<input>").attr("type", "hidden").attr("name", "<%=fieldName%>").val(key);
|
||||
var td = $("<td>").text(naam).append(inp).prepend("<i class='fa fa-trash'></i> ");
|
||||
var tr = $("<tr><td></td></tr>").append(td);
|
||||
$("input#<%=fieldName%>_show").closest("tr").after(tr);
|
||||
FcltMgr.resized();
|
||||
}
|
||||
<% } %>
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user