Skip to content

Commit

Permalink
fix rogerbaba#32 Allow to create multipe groups and fix language strings
Browse files Browse the repository at this point in the history
  • Loading branch information
barrasroger committed Mar 8, 2018
1 parent 9b28403 commit 4d1148b
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 29 deletions.
20 changes: 12 additions & 8 deletions lang/de/groupselect.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
*
* @package mod
* @subpackage groupselect
* @copyright 2018 HTW Chur Roger Barras
* @copyright 2008-2011 Petr Skoda (http://skodak.org)
* @copyright 2014 Tampere University of Technology, P. Pyykkönen (pirkka.pyykkonen ÄT tut.fi)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
Expand All @@ -32,13 +33,15 @@
$string['eventexportlinkcreated'] = 'Exportlink erstellt';
$string['groupselect:assign'] = 'Das Hinzufügen eingeschriebener Betreuer/innen zu Gruppen erlauben';
$string['maxgroupmembership'] = 'Maximale Anzahl der Gruppenteilnahme pro Teilnehmenden';
$string['maxgroupmembership_error_low'] = 'Fehler: Es muss mindestens eine (1) Gruppe wählbar sein!';
$string['maxmembers_error_low'] = "Fehler: Benutze eine 0 um eine unlimitierte Gruppengrösse zu definieren!";
$string['maxmembers_error_smaller_minmembers'] = "Fehler: Die Maximalanzahl der Teilnehmer muss grösser sein als die Mindesanzahl!";
$string['maxgroupmembership_error_low'] = 'Negative Anzahl an Mitgliedschaften ist nicht erlaubt!';
$string['maxgroupmembership_help'] = 'Legt die maximale Anzahl an Gruppenteilnahmen fest. Eine 0 bedeutet, dass keine Teilnahme möglich ist.';
$string['maxmembers_error_low'] = 'Negative Anzahl an Gruppenmitgliedern ist nicht erlaubt! Benutze eine 0 um eine unlimitierte Gruppengrösse zu definieren!';
$string['maxmembers_error_smaller_minmembers'] = 'Die Maximalanzahl der Teilnehmer muss grösser sein als die Mindestanzahl!';
$string['maxmembers_icon'] = 'Die Gruppe hat zu viele Mitglieder';
$string['maxmembers_notification'] = 'Ihre Gruppe hat zu viele Mitglieder! Das Maximum ist {$a}.';
$string['minmembers_error_low'] = 'Negative Anzahl an Gruppenmitgliedern ist nicht erlaubt!';
$string['minmembers_error_bigger_maxmembers'] = 'Die Mindestgruppengrösse muss kleiner sein als die maximale Anzahl an Teilnehmern!';
$string['modulename_help'] = '<p>Teilnehmer/innen können Gruppen erstellen und wählen: </p><ul><li>Teilnehmer/innen können Gruppen erstellen, diesen eine Beschreibung geben und, falls gewünscht, mit einem Passwort schützen</li><li>Teilnehmer/innen können Gruppen auswählen und betreten</li><li>Betreuer/innen können Gruppen hinzugefügt werden</li><li>Trainer/in kann die Gruppenliste des Kurses als CSV-Datei exportieren</li><li>Volle Kompatibilität zu Basis Moodle-Gruppen: Gruppen können auch durch andere Plugins erzeugt werden.</li></ul>';
$string['minmembers_error_low'] = "Fehler: Negative Anzahl an Gruppenmitgliedern ist nicht erlaubt!";
$string['minmembers_error_bigger_maxmembers'] = "Fehler: Die Mindestgruppengrösse muss kleiner sein als die maximale Anzahl an Teilnehmern!";
$string['notifyexpiredselection'] = 'Zeige Meldung, wenn das Einschreibeende vorüber ist';
$string['notifyexpiredselection_help'] = 'Wenn gesetzt, wird eine Meldung angezeigt, falls das Einschreibeende vorüber ist';
$string['selectgroupaction'] = 'Gruppe wählen';
Expand All @@ -47,10 +50,11 @@
$string['studentcansetenrolmentkey'] = 'Teilnehmende können Passwörter setzen, um Gruppen beizutreten';
$string['studentcansetenrolmentkey_help'] = 'Wenn gesetzt, kann ein/e Teilnehmer/in ein Gruppenpasswort setzen';
$string['studentcansetgroupname'] = 'Teilnehmende dürfen Gruppennamen selbst bestimmen.';
$string['studentcansetgroupname_help'] = 'Wenn gesetzt, kann ein/e Teilnehmer/in einen Gruppennamen setzen';
$string['studentcansetgroupname_help'] = 'Wenn gesetzt, können Teilnehmende die Gruppennamen für neue Gruppen setzen.';
$string['supervisionrole'] = 'Rolle für die Betreuung';
$string['supervisionrole_help'] = 'Supervisorenrolle festlegen für die Betreuung der Gruppen festlegen (Standard: Lehrer ohne Bearbeitungsrecht)';
$string['timeavailable_error_past_timedue'] = 'Fehler: Aktivität kann nicht nach dem Ende anfangen!';
$string['timedue_error_pre_timeavailable'] = 'Fehler: Aktivität kann nicht vor dem Start enden!';
$string['targetgrouping'] = 'Gruppen aus einer Gruppierung auswählen';
$string['timeavailable_error_past_timedue'] = 'Aktivität kann nicht nach dem Ende anfangen!';
$string['timedue_error_pre_timeavailable'] = 'Aktivität kann nicht vor dem Start enden!';
$string['unassigngroup'] = 'Betreuer/innen von Gruppen entfernen';
$string['unassigngroup_confirm'] = 'Diese Aktion entfernt Betreuer/innen von Gruppen. Sind Sie sicher?';
1 change: 1 addition & 0 deletions lang/en/deprecated.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
assigngroup_confirm.mod_groupselect
20 changes: 11 additions & 9 deletions lang/en/groupselect.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
*
* @package mod
* @subpackage groupselect
* @copyright 2018 HTW Chur Roger Barras
* @copyright 2008-2011 Petr Skoda (http://skodak.org)
* @copyright 2014 Tampere University of Technology, P. Pyykkönen (pirkka.pyykkonen ÄT tut.fi)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
Expand Down Expand Up @@ -58,21 +59,22 @@
$string['managegroups'] = 'Manage groups';
$string['maxcharlenreached'] = 'Maximum character number reached';
$string['maxgroupmembership'] = 'Maximum number of groups to participate in';
$string['maxgroupmembership_error_low'] = 'Error: At least 1 group needs to be selectable!';
$string['maxgroupmembership_error_low'] = 'Negative numbers are not allowed!';
$string['maxgroupmembership_help'] = 'Maximum number of groups to participate in. A 0 means that no participation is possible.';
$string['maxlimitreached'] = 'Maximum number reached';
$string['maxmembers'] = 'Max members per group';
$string['maxmembers_error_low'] = "Error: Use 0 to indicate for unlimited group size!";
$string['maxmembers_error_smaller_minmembers'] = "Error: Needs to be greater than the minimum participants per group!";
$string['maxmembers_help'] = 'Maximum number of members per group, 0 for unlimited.';
$string['maxmembers_error_low'] = "Negative numbers are not allowed for! Use 0 for unlimited!";
$string['maxmembers_error_smaller_minmembers'] = "Needs to be greater than the minimum participants per group!";
$string['maxmembers_help'] = 'Maximum number of members per group. Use 0 for unlimited.';
$string['maxmembers_icon'] = 'Group has too many members';
$string['maxmembers_notification'] = 'Your group has too many members! Maximum is {$a}.';
$string['member'] = 'Member';
$string['membercount'] = 'Count';
$string['membershidden'] = 'Member list not available';
$string['memberslist'] = 'Members';
$string['minmembers'] = 'Min members per group';
$string['minmembers_error_low'] = "Error: Negative numbers are not allowed for the minimum group size!";
$string['minmembers_error_bigger_maxmembers'] = "Error: The minimum group size needs to be smaller than the maximum participants per group!";
$string['minmembers_error_low'] = 'Negative numbers are not allowed for the minimum group size! Use 0 for disabling!';
$string['minmembers_error_bigger_maxmembers'] = 'The minimum group size needs to be smaller than the maximum participants per group!';
$string['minmembers_help'] = 'Minimum number of members per group. Adds notifications for members of groups which are under this limit. Default is 0 (disabled).';
$string['minmembers_icon'] = 'Group has less members than required';
$string['minmembers_notification'] = 'Your group has less members than required! Minimum is {$a}.';
Expand Down Expand Up @@ -101,14 +103,14 @@
$string['studentcansetenrolmentkey'] = 'Students can set passwords for joining groups';
$string['studentcansetenrolmentkey_help'] = 'If set, students can set an enrolment key for joining groups';
$string['studentcansetgroupname'] = 'Students can set the name of new groups';
$string['studentcansetgroupname_help'] = 'If set, students can set the group names';
$string['studentcansetgroupname_help'] = 'If set, students can set the group name for new groups.';
$string['supervisionrole'] = 'Supervisor role';
$string['supervisionrole_help'] = 'Define the role for supervisors (formally non-editing teachers)';
$string['targetgrouping'] = 'Select groups from grouping';
$string['timeavailable'] = 'Open from';
$string['timeavailable_error_past_timedue'] = 'Error: Cannot start after due date!';
$string['timeavailable_error_past_timedue'] = 'Cannot start after due date!';
$string['timedue'] = 'Open until';
$string['timedue_error_pre_timeavailable'] = 'Error: Cannot end before start date!';
$string['timedue_error_pre_timeavailable'] = 'Cannot end before start date!';
$string['unassigngroup'] = 'Unassign supervisors from groups';
$string['unassigngroup_confirm'] = 'This will unassign supervisors from groups. Are you sure?';
$string['unselect'] = 'Leave group {$a}';
Expand Down
12 changes: 6 additions & 6 deletions mod_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,10 @@ public function definition() {
$mform->addElement('text', 'maxgroupmembership', get_string('maxgroupmembership', 'mod_groupselect'), array('size' => '4'));
$mform->setType('maxgroupmembership', PARAM_INT);
$mform->setDefault('maxgroupmembership', $config->maxgroupmembership);
// $mform->addHelpButton('maxgroupmembership', 'maxgroupmembership', 'mod_groupselect');
$mform->addHelpButton('maxgroupmembership', 'maxgroupmembership', 'mod_groupselect');

$mform->addElement('date_time_selector', 'timeavailable', get_string('timeavailable', 'mod_groupselect'), array('optional' => true));
$mform->addElement('date_time_selector', 'timeavailable', get_string('timeavailable', 'mod_groupselect'),
array('optional' => true));
$mform->setDefault('timeavailable', 0);
$mform->addElement('date_time_selector', 'timedue', get_string('timedue', 'mod_groupselect'), array('optional' => true));
$mform->setDefault('timedue', 0);
Expand All @@ -101,18 +102,17 @@ public function definition() {
$mform->disabledIf('studentcansetgroupname', 'studentcancreate', 'notchecked');

$mform->addElement('advcheckbox', 'studentcansetdesc', get_string('studentcansetdesc', 'mod_groupselect'), '',
array('optional' => true, 'group' => null), array(0, 1));
array('optional' => true, 'group' => null), array(0, 1));
$mform->addHelpButton('studentcansetdesc', 'studentcansetdesc', 'mod_groupselect');
$mform->setDefault('studentcansetdesc', $config->studentcansetdesc);
$mform->disabledIf('studentcansetdesc', 'studentcancreate', 'notchecked');

$mform->addElement('advcheckbox', 'studentcansetenrolmentkey', get_string('studentcansetenrolmentkey', 'mod_groupselect'), '',
array('optional' => true, 'group' => null), array(0, 1));
$mform->addElement('advcheckbox', 'studentcansetenrolmentkey', get_string('studentcansetenrolmentkey', 'mod_groupselect'),
'', array('optional' => true, 'group' => null), array(0, 1));
$mform->addHelpButton('studentcansetenrolmentkey', 'studentcansetenrolmentkey', 'mod_groupselect');
$mform->setDefault('studentcansetenrolmentkey', $config->studentcansetenrolmentkey);
$mform->disabledIf('studentcansetenrolmentkey', 'studentcancreate', 'notchecked');

// part of fixing #14
$mform->addElement('select', 'supervisionrole', get_string('supervisionrole', 'mod_groupselect'), $supervisionroles);
$mform->setDefault('supervisionrole', $config->supervisionrole);
$mform->addHelpButton('supervisionrole', 'supervisionrole', 'mod_groupselect');
Expand Down
5 changes: 3 additions & 2 deletions settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@
get_string('maxmembers', 'mod_groupselect'),
get_string('maxmembers_help', 'mod_groupselect'), 0, PARAM_INT));

$settings->add(new admin_setting_configtext('groupselect/maxgroupmembership',
get_string('maxgroupmembership', 'mod_groupselect'), null, 1, PARAM_INT));
$settings->add(new admin_setting_configtext('groupselect/maxgroupmembership',
get_string('maxgroupmembership', 'mod_groupselect'),
get_string('maxgroupmembership_help', 'mod_groupselect'), 1, PARAM_INT));

$settings->add(new admin_setting_configcheckbox('groupselect/studentcancreate',
get_string('studentcancreate', 'mod_groupselect'),
Expand Down
9 changes: 5 additions & 4 deletions view.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,11 @@
'instance_id' => $groupselect->id
) ) ) > 0 ? true : false;

$canselect = (has_capability( 'mod/groupselect:select', $context ) and is_enrolled( $context ) and (empty( $mygroups ) or count( $mygroups ) < $groupselect->maxgroupmembership));

$canselect = (has_capability( 'mod/groupselect:select', $context ) and is_enrolled( $context ) and (empty( $mygroups )
or count( $mygroups ) < $groupselect->maxgroupmembership));
$canunselect = (has_capability( 'mod/groupselect:unselect', $context ) and is_enrolled( $context ) and ! empty( $mygroups ));
$cancreate = ($groupselect->studentcancreate and has_capability( 'mod/groupselect:create', $context ) and is_enrolled( $context ) and empty( $mygroups ));
$cancreate = ($groupselect->studentcancreate and has_capability( 'mod/groupselect:create', $context ) and is_enrolled( $context )
and (count($mygroups) < $groupselect->maxgroupmembership));
$canexport = (has_capability( 'mod/groupselect:export', $context ) and count( $groups ) > 0);
$canassign = (has_capability( 'mod/groupselect:assign', $context ) and $groupselect->assignteachers
and (count(groupselect_get_context_members_by_role( context_course::instance( $course->id )->id, $assignrole )) > 0));
Expand Down Expand Up @@ -703,7 +704,7 @@
if ($accessall) {
$canseemembers = true;
} else {
if ($groupmode == SEPARATEGROUPS and ! $ismember) {
if ($groupmode == SEPARATEGROUPS and !$ismember) {
$canseemembers = false;
} else {
$canseemembers = $viewothers;
Expand Down

0 comments on commit 4d1148b

Please sign in to comment.