- Splitted Usersfilters_widget in:

- Aufnahmegruppe_widget
	- Reihungstest_widget
	- Studiengang_widget
	- Studiensemester_widget
	- Stufe_widget
- Renamed /system/Users controller to system/aufnahme/PrestudentMultiAssign
- Added method getPrestudentMultiAssign to Prestudent_model
- Changed WidgetLib to allow to set the name and the id html attributes
of a widget
This commit is contained in:
Paolo
2017-03-24 16:39:50 +01:00
parent 60ff6d145d
commit 1f65f7737c
18 changed files with 896 additions and 820 deletions
@@ -0,0 +1,333 @@
<?php $this->load->view("templates/header", array("title" => "Users manager", "jquery" => true, "tablesort" => true, "jquery_checkboxes" => true, "jquery_custom" => true)); ?>
<body>
<form id="usersFiltersForm" action="" method="post">
<table>
<tr>
<td>
<?php
echo $this->widgetlib->widget(
'Studiengang_widget',
array('studiengang' => $studiengang),
array('name' => 'studiengang', 'id' => 'studiengangFilter')
);
?>
</td>
<td>
<?php
echo $this->widgetlib->widget(
'Studiensemester_widget',
array('studiensemester' => $studiensemester),
array('name' => 'studiensemester', 'id' => 'studiensemesterFilter')
);
?>
</td>
<td>
<?php
echo $this->widgetlib->widget(
'Reihungstest_widget',
array('reihungstest' => $reihungstest, 'studiengang' => $studiengang, 'studiensemester' => $studiensemester),
array('name' => 'reihungstest', 'id' => 'reihungstestFilter')
);
?>
</td>
<td>
<?php
echo $this->widgetlib->widget(
'Aufnahmegruppe_widget',
array('aufnahmegruppe' => $aufnahmegruppe),
array('name' => 'aufnahmegruppe', 'id' => 'aufnahmegruppeFilter')
);
?>
</td>
<td>
<?php
echo $this->widgetlib->widget(
'Stufe_widget',
array('stufe' => $stufe),
array('name' => 'stufe', 'id' => 'stufeFilter')
);
?>
</td>
</tr>
</table>
</form>
<br>
<form id="linkUsersForm" action="" method="post">
<?php
if ($users != null)
{
?>
<table>
<tr>
<td colspan="2">
<strong>Assign to:</strong>
</td>
</tr>
<tr>
<td height="3px" colspan="2"></td>
</tr>
<tr>
<td>
<?php
echo $this->widgetlib->widget(
'Stufe_widget',
array('stufe' => $stufe),
array('name' => 'stufe', 'id' => 'stufeAssign')
);
?>
</td>
<td>&nbsp;</td>
<td>
<input type="button" id="linkToStufe" value="Assign this stufe">
</td>
</tr>
<tr>
<td>
<?php
echo $this->widgetlib->widget(
'Aufnahmegruppe_widget',
array('aufnahmegruppe' => $aufnahmegruppe),
array('name' => 'aufnahmegruppe', 'id' => 'aufnahmegruppeAssign')
);
?>
<td>&nbsp;</td>
<td>
<input type="button" id="linkToGruppe" value="Assign to this group">
</td>
</tr>
</table>
<?php
}
?>
<br>
<br>
<div>
<?php
if ($users != null)
{
?>
<table id="t0" class="tablesorter">
<thead>
<tr>
<th>&nbsp;</th>
<th class="clm_prestudent_id header">Prestudent ID</th>
<th class="clm_person_id header">Person ID</th>
<th class="header headerSortDown">Vorname</th>
<th>Nachname</th>
<th>Geschlecht</th>
<th>Studiengang</th>
<th>OrgForm</th>
<th>Studienplan</th>
<th>Geburtsdatum</th>
<th>Email</th>
<th>Stufe</th>
<th>Gruppe</th>
<th>Punkte</th>
</tr>
</thead>
<tbody>
<?php
for ($i = 0; $i < count($users); $i++)
{
$user = $users[$i];
echo "<tr>";
echo "<td>";
echo '<input type="checkbox" name="prestudent_id[]" value="' . $user->prestudent_id . '">';
echo "</td>";
echo "<td>";
echo $user->prestudent_id;
echo "</td>";
echo "<td>";
echo $user->person_id;
echo "</td>";
echo "<td>";
echo $user->vorname;
echo "</td>";
echo "<td>";
echo $user->nachname;
echo "</td>";
echo "<td>";
echo $user->geschlecht;
echo "</td>";
echo "<td>";
echo $user->kurzbzlang;
echo "</td>";
echo "<td>";
echo $user->orgform_kurzbz;
echo "</td>";
echo "<td>";
echo $user->studienplan;
echo "</td>";
echo "<td>";
echo $user->gebdatum;
echo "</td>";
echo "<td>";
echo $user->email;
echo "</td>";
echo "<td>";
echo $user->rt_stufe;
echo "</td>";
echo "<td>";
echo $user->aufnahmegruppe_kurzbz;
echo "</td>";
echo "<td>";
echo $user->punkte;
echo "</td>";
echo "</tr>";
}
?>
</tbody>
</table>
<?php
}
else
{
echo 'No users found.';
}
?>
</div>
</form>
<?php
$hrefLinkToStufe = str_replace("/system/aufnahme/PrestudentMultiAssign", "/system/aufnahme/PrestudentMultiAssign/linkToStufe", $_SERVER["REQUEST_URI"]);
$hrefLinkToAufnahmegruppe = str_replace("/system/aufnahme/PrestudentMultiAssign", "/system/aufnahme/PrestudentMultiAssign/linkToAufnahmegruppe", $_SERVER["REQUEST_URI"]);
?>
<script>
$(document).ready(function() {
if ($("#linkToStufe"))
{
$("#linkToStufe").click(function() {
$.ajax({
type: "POST",
dataType: "json",
url: "<?php echo $hrefLinkToStufe; ?>",
data: $("#linkUsersForm").serialize(),
success: function(data, textStatus, jqXHR) {
alert(data.msg);
$("#usersFiltersForm").submit();
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
}
});
});
}
if ($("#linkToGruppe"))
{
$("#linkToGruppe").click(function() {
$.ajax({
type: "POST",
dataType: "json",
url: "<?php echo $hrefLinkToAufnahmegruppe; ?>",
data: $("#linkUsersForm").serialize(),
success: function(data, textStatus, jqXHR) {
alert(data.msg);
$("#usersFiltersForm").submit();
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
}
});
});
}
if ($('#studiengangFilter'))
{
$('#studiengangFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#studiensemesterFilter'))
{
$('#studiensemesterFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#aufnahmegruppeFilter'))
{
$('#aufnahmegruppeFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#stufeFilter'))
{
$('#stufeFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#reihungstestFilter'))
{
$('#reihungstestFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
$(".tablesorter").each(function(i, v) {
$("#"+v.id).tablesorter(
{
widgets: ["zebra"],
sortList: [[3,0],[4,0]],
headers: {0: { sorter: false}}
});
$("#toggle_"+v.id).on('click', function(e) {
$("#"+v.id).checkboxes('toggle');
e.preventDefault();
if ($("input.chkbox:checked").size() > 0)
$("#mailSendButton").html('Mail an markierte Personen senden');
else
$("#mailSendButton").html('Mail an alle senden');
});
$("#uncheck_"+v.id).on('click', function(e) {
$("#"+v.id).checkboxes('uncheck');
e.preventDefault();
if ($("input.chkbox:checked").size() > 0)
$("#mailSendButton").html('Mail an markierte Personen senden');
else
$("#mailSendButton").html('Mail an alle senden');
});
$("#"+v.id).checkboxes('range', true);
});
$('.chkbox').change(function()
{
if ($("input.chkbox:checked").size() > 0)
$("#mailSendButton").html('Mail an markierte Personen senden');
else
$("#mailSendButton").html('Mail an alle senden');
});
});
</script>
</body>
<?php $this->load->view("templates/footer"); ?>
-305
View File
@@ -1,305 +0,0 @@
<?php $this->load->view("templates/header", array("title" => "Users manager", "jquery" => true, "tablesort" => true, "jquery_checkboxes" => true, "jquery_custom" => true)); ?>
<body>
<div>
<form id="usersFiltersForm" action="" method="post">
<?php
echo $this->widgetlib->widget(
'Usersfilters_widget',
array(
'studiengang' => $studiengang,
'studiensemester' => $studiensemester,
'gruppe' => $gruppe,
'reihungstest' => $reihungstest,
'stufe' => $stufe
)
);
?>
</form>
</div>
<br>
<form id="linkUsersForm" action="" method="post">
<?php
if ($users != null)
{
?>
<table>
<tr>
<td colspan="2">
<strong>Assign to:</strong>
</td>
</tr>
<tr>
<td height="3px" colspan="2"></td>
</tr>
<tr>
<td>
<select name="stufe">
<?php foreach($stufen as $v): ?>
<?php
$selected = '';
if ($v->stufe == $selectedStufe)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->stufe; ?>" <?php echo $selected; ?>>
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
</td>
<td>&nbsp;</td>
<td>
<input type="button" id="linkToStufe" value="Assign this stufe">
</td>
</tr>
<tr>
<td>
<select name="aufnahmegruppe">
<?php foreach($gruppen as $v): ?>
<?php
$selected = '';
if ($v->gruppe_kurzbz == $selectedGruppe)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->gruppe_kurzbz; ?>" <?php echo $selected; ?>>
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
<td>&nbsp;</td>
<td>
<input type="button" id="linkToGruppe" value="Assign to this group">
</td>
</tr>
</table>
<?php
}
?>
<br>
<br>
<div>
<?php
if ($users != null)
{
?>
<table id="t0" class="tablesorter">
<thead>
<tr>
<th>&nbsp;</th>
<th class="clm_prestudent_id header">Prestudent ID</th>
<th class="clm_person_id header">Person ID</th>
<th class="header headerSortDown">Vorname</th>
<th>Nachname</th>
<th>Geschlecht</th>
<th>Studiengang</th>
<th>OrgForm</th>
<th>Studienplan</th>
<th>Geburtsdatum</th>
<th>Email</th>
<th>Stufe</th>
<th>Gruppe</th>
<th>Punkte</th>
</tr>
</thead>
<tbody>
<?php
for ($i = 0; $i < count($users); $i++)
{
$user = $users[$i];
echo "<tr>";
echo "<td>";
echo '<input type="checkbox" name="prestudent_id[]" value="' . $user->prestudent_id . '">';
echo "</td>";
echo "<td>";
echo $user->prestudent_id;
echo "</td>";
echo "<td>";
echo $user->person_id;
echo "</td>";
echo "<td>";
echo $user->vorname;
echo "</td>";
echo "<td>";
echo $user->nachname;
echo "</td>";
echo "<td>";
echo $user->geschlecht;
echo "</td>";
echo "<td>";
echo $user->kurzbzlang;
echo "</td>";
echo "<td>";
echo $user->orgform_kurzbz;
echo "</td>";
echo "<td>";
echo $user->studienplan;
echo "</td>";
echo "<td>";
echo $user->gebdatum;
echo "</td>";
echo "<td>";
echo $user->email;
echo "</td>";
echo "<td>";
echo $user->rt_stufe;
echo "</td>";
echo "<td>";
echo $user->aufnahmegruppe_kurzbz;
echo "</td>";
echo "<td>";
echo $user->punkte;
echo "</td>";
echo "</tr>";
}
?>
</tbody>
</table>
<?php
}
else
{
echo 'No users found.';
}
?>
</div>
</form>
<?php
$hrefLinkToStufe = str_replace("/system/Users", "/system/Users/linkToStufe", $_SERVER["REQUEST_URI"]);
$hrefLinkToAufnahmegruppe = str_replace("/system/Users", "/system/Users/linkToAufnahmegruppe", $_SERVER["REQUEST_URI"]);
?>
<script>
$(document).ready(function() {
if ($("#linkToStufe"))
{
$("#linkToStufe").click(function() {
$.ajax({
type: "POST",
dataType: "json",
url: "<?php echo $hrefLinkToStufe; ?>",
data: $("#linkUsersForm").serialize(),
success: function(data, textStatus, jqXHR) {
alert(data.msg);
$("#usersFiltersForm").submit();
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
}
});
});
}
if ($("#linkToGruppe"))
{
$("#linkToGruppe").click(function() {
$.ajax({
type: "POST",
dataType: "json",
url: "<?php echo $hrefLinkToAufnahmegruppe; ?>",
data: $("#linkUsersForm").serialize(),
success: function(data, textStatus, jqXHR) {
alert(data.msg);
$("#usersFiltersForm").submit();
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
}
});
});
}
$(".tablesorter").each(function(i, v) {
$("#"+v.id).tablesorter(
{
widgets: ["zebra"],
sortList: [[3,0],[4,0]],
headers: {0: { sorter: false}}
});
$("#toggle_"+v.id).on('click', function(e) {
$("#"+v.id).checkboxes('toggle');
e.preventDefault();
if ($("input.chkbox:checked").size() > 0)
$("#mailSendButton").html('Mail an markierte Personen senden');
else
$("#mailSendButton").html('Mail an alle senden');
});
$("#uncheck_"+v.id).on('click', function(e) {
$("#"+v.id).checkboxes('uncheck');
e.preventDefault();
if ($("input.chkbox:checked").size() > 0)
$("#mailSendButton").html('Mail an markierte Personen senden');
else
$("#mailSendButton").html('Mail an alle senden');
});
$("#"+v.id).checkboxes('range', true);
});
$('.chkbox').change(function()
{
if ($("input.chkbox:checked").size() > 0)
$("#mailSendButton").html('Mail an markierte Personen senden');
else
$("#mailSendButton").html('Mail an alle senden');
});
});
function studiengangSelected(value)
{
submitUsersFiltersForm();
}
function studiensemesterSelected(value)
{
submitUsersFiltersForm();
}
function reihungstestSelected(value)
{
submitUsersFiltersForm();
}
function gruppeSelected(value)
{
submitUsersFiltersForm();
}
function stufeSelected(value)
{
submitUsersFiltersForm();
}
function submitUsersFiltersForm()
{
document.getElementById("usersFiltersForm").submit();
}
</script>
</body>
<?php $this->load->view("templates/footer"); ?>
@@ -0,0 +1,14 @@
<select id="<?php echo $html['id']; ?>" name="<?php echo $html['name']; ?>">
<?php foreach($aufnahmegruppen as $v): ?>
<?php
$selected = '';
if ($v->gruppe_kurzbz == $aufnahmegruppe)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->gruppe_kurzbz; ?>" <?php echo $selected; ?>>
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
@@ -0,0 +1,14 @@
<select id="<?php echo $html['id']; ?>" name="<?php echo $html['name']; ?>">
<?php foreach($reihungstests as $v): ?>
<?php
$selected = '';
if ($v->reihungstest_id == $reihungstest)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->reihungstest_id; ?>" <?php echo $selected; ?>>
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
+23
View File
@@ -0,0 +1,23 @@
<select id="<?php echo $html['id']; ?>" name="<?php echo $html['name']; ?>">
<?php foreach($studiengaenge as $v): ?>
<?php
$selected = '';
if ($v->studiengang_kz == $studiengang)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->studiengang_kz; ?>" <?php echo $selected; ?>>
<?php
if ($v->studiengang_kz == '')
{
echo $v->kurzbzlang;
}
else
{
echo $v->kurzbzlang . ' (' . $v->bezeichnung . ')';
}
?>
</option>
<?php endforeach; ?>
</select>
@@ -0,0 +1,14 @@
<select id="<?php echo $html['id']; ?>" name="<?php echo $html['name']; ?>">
<?php foreach($studiensemesters as $v): ?>
<?php
$selected = '';
if ($v->studiensemester_kurzbz == $studiensemester)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->studiensemester_kurzbz; ?>" <?php echo $selected; ?>>
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
+14
View File
@@ -0,0 +1,14 @@
<select id="<?php echo $html['id']; ?>" name="<?php echo $html['name']; ?>">
<?php foreach($stufen as $v): ?>
<?php
$selected = '';
if ($v->stufe == $stufe)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->stufe; ?>" <?php echo $selected; ?>>
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
-107
View File
@@ -1,107 +0,0 @@
<?php
if (isset($errors) && is_array($errors) && count($errors) > 0)
{
?>
<div class="errors">
<?php foreach($errors as $e): ?>
<?php echo $e->retval; ?><br>
<?php endforeach; ?>
</div>
<?php
}
?>
<table>
<tr>
<td>
<select id="studiengang" name="studiengang">
<?php foreach($studiengaenge as $v): ?>
<?php
$selected = '';
if ($v->studiengang_kz == $selectedStudiengang)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->studiengang_kz; ?>" <?php echo $selected; ?> onClick="studiengangSelected(this.value)">
<?php
if ($v->studiengang_kz == '-1')
{
echo $v->kurzbzlang;
}
else
{
echo $v->kurzbzlang . ' (' . $v->bezeichnung . ')';
}
?>
</option>
<?php endforeach; ?>
</select>
</td>
<td>
<select id="studiensemester" name="studiensemester">
<?php foreach($studiensemester as $v): ?>
<?php
$selected = '';
if ($v->studiensemester_kurzbz == $selectedStudiensemester)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->studiensemester_kurzbz; ?>" <?php echo $selected; ?> onClick="studiensemesterSelected(this.value)">
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
</td>
<td>
<select id="reihungstest" name="reihungstest">
<?php foreach($reihungstest as $v): ?>
<?php
$selected = '';
if ($v->reihungstest_id == $selectedReihungstest)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->reihungstest_id; ?>" <?php echo $selected; ?> onClick="reihungstestSelected(this.value)">
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr>
<td>
<select id="gruppe" name="gruppe">
<?php foreach($gruppen as $v): ?>
<?php
$selected = '';
if ($v->gruppe_kurzbz == $selectedGruppe)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->gruppe_kurzbz; ?>" <?php echo $selected; ?> onClick="gruppeSelected(this.value)">
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
</td>
<td colspan="2">
<select id="stufe" name="stufe">
<?php foreach($stufen as $v): ?>
<?php
$selected = '';
if ($v->stufe == $selectedStufe)
{
$selected = 'selected';
}
?>
<option value="<?php echo $v->stufe; ?>" <?php echo $selected; ?> onClick="stufeSelected(this.value)">
<?php echo $v->beschreibung; ?>
</option>
<?php endforeach; ?>
</select>
</td>
</tr>
</table>