diff --git a/Config/Schema/schema.xml b/Config/Schema/schema.xml
index e72f707..bba794e 100644
--- a/Config/Schema/schema.xml
+++ b/Config/Schema/schema.xml
@@ -38,6 +38,9 @@
+
+
+
diff --git a/Lib/lang.php b/Lib/lang.php
index d0c95c4..566d182 100644
--- a/Lib/lang.php
+++ b/Lib/lang.php
@@ -9,6 +9,12 @@
'pl.grouperlite.config.grouper-ws-version' => 'Grouper Webservice Version',
'pl.grouperlite.config.grouper-ws-un' => 'Webservice Username',
'pl.grouperlite.config.grouper-ws-pw' => 'Webservice Password',
+ 'pl.grouperlite.config.ad-hoc-heading' => 'Ad-hoc Group Heading',
+ 'pl.grouperlite.config.ad-hoc-subscript' => '',
+ 'pl.grouperlite.config.wg-heading' => 'Working Group Heading',
+ 'pl.grouperlite.config.wg-subscript' => '',
+ 'pl.grouperlite.config.default-collapse' => 'Collapse groups by default?',
+ 'pl.grouperlite.config.default-collapse-subscript' => '',
'pl.grouperlite.crumb.root' => 'Grouper',
'pl.grouperlite.nav.groups-can-join' => 'Groups I can join',
diff --git a/Model/CoGrouperLite.php b/Model/CoGrouperLite.php
index 290ed73..bc99cb2 100644
--- a/Model/CoGrouperLite.php
+++ b/Model/CoGrouperLite.php
@@ -78,6 +78,20 @@ class CoGrouperLite extends CoDashboardWidgetBackend {
'rule' => array('minLength', 1),
'required' => true
),
+ 'adHocHeading' => array(
+ 'rule' => array('minLength', 1),
+ 'required' => false,
+ 'default' => 'Ad-hoc groups'
+ ),
+ 'wgHeading' => array(
+ 'rule' => array('minLength', 1),
+ 'required' => false,
+ 'default' => 'Working groups'
+ ),
+ 'defaultCollapse' => array(
+ 'rule' => array('minLength', 1),
+ 'required' => true
+ ),
);
}
\ No newline at end of file
diff --git a/View/CoGrouperLites/fields.inc b/View/CoGrouperLites/fields.inc
index ac32dee..d886a02 100644
--- a/View/CoGrouperLites/fields.inc
+++ b/View/CoGrouperLites/fields.inc
@@ -72,32 +72,32 @@ print $this->Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
- Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url')) : _txt('pl.grouperlite.config.grouper-url')); ?>
+ Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url')) : _txt('pl.grouperlite.config.grouper-url')); ?>
*
-
- Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url-subscript')) : _txt('pl.grouperlite.config.grouper-url-subscript')); ?>
-
+
+ Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url-subscript')) : _txt('pl.grouperlite.config.grouper-url-subscript')); ?>
+
- Form->input('grouperUrl', $attrs);
+ if ($e) {
+ print $this->Form->input('grouperUrl', $attrs);
- if ($this->Form->isFieldError('grouperUrl')) {
- print $this->Form->error('grouperUrl');
- }
- } else {
- if (!empty($co_grouper_lites[0]['CoGrouperLite']['grouperUrl'])) {
- print filter_var($co_grouper_lites[0]['CoGrouperLite']['grouperUrl'], FILTER_SANITIZE_SPECIAL_CHARS);
+ if ($this->Form->isFieldError('grouperUrl')) {
+ print $this->Form->error('grouperUrl');
+ }
+ } else {
+ if (!empty($co_grouper_lites[0]['CoGrouperLite']['grouperUrl'])) {
+ print filter_var($co_grouper_lites[0]['CoGrouperLite']['grouperUrl'], FILTER_SANITIZE_SPECIAL_CHARS);
+ }
}
- }
- ?>
+ ?>
@@ -213,6 +213,93 @@ print $this->Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
+
+
+
+ Form->label('adHocHeading', _txt('pl.grouperlite.config.ad-hoc-heading')) : _txt('pl.grouperlite.config.ad-hoc-heading')); ?>
+
+
+
+ Form->input('adHocHeading', $attrs);
+
+ if ($this->Form->isFieldError('adHocHeading')) {
+ print $this->Form->error('adHocHeading');
+ }
+ } else {
+ if (!empty($co_grouper_lites[0]['CoGrouperLite']['adHocHeading'])) {
+ print filter_var($co_grouper_lites[0]['CoGrouperLite']['adHocHeading'], FILTER_SANITIZE_SPECIAL_CHARS);
+ }
+ }
+ ?>
+
+
+
+
+
+
+ Form->label('wgHeading', _txt('pl.grouperlite.config.wg-heading')) : _txt('pl.grouperlite.config.wg-heading')); ?>
+
+
+
+ Form->input('wgHeading', $attrs);
+
+ if ($this->Form->isFieldError('wgHeading')) {
+ print $this->Form->error('wgHeading');
+ }
+ } else {
+ if (!empty($co_grouper_lites[0]['CoGrouperLite']['wgHeading'])) {
+ print filter_var($co_grouper_lites[0]['CoGrouperLite']['wgHeading'], FILTER_SANITIZE_SPECIAL_CHARS);
+ }
+ }
+ ?>
+
+
+
+
+
+
+ Form->label('defaultCollapse', _txt('pl.grouperlite.config.default-collapse')) : _txt('pl.grouperlite.config.default-collapse')); ?>
+
+
+
+ Form->radio('defaultCollapse', array(
+ 'collapsed' => 'True',
+ 'expanded' => 'False'
+ ), array(
+ 'value' => $co_grouper_lites[0]['CoGrouperLite']['defaultCollapse'] === 'expanded',
+ 'legend' => false,
+ 'separator' => ' '
+ ));
+
+ if ($this->Form->isFieldError('defaultCollapse')) {
+ print $this->Form->error('defaultCollapse');
+ }
+ } else {
+ if (!empty($co_grouper_lites[0]['CoGrouperLite']['defaultCollapse'])) {
+ print filter_var($co_grouper_lites[0]['CoGrouperLite']['defaultCollapse'], FILTER_SANITIZE_SPECIAL_CHARS);
+ }
+ }
+ ?>
+
+
+
@@ -229,4 +316,4 @@ print $this->Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
-
\ No newline at end of file
+
diff --git a/View/Elements/Components/navigation-groups.ctp b/View/Elements/Components/navigation-groups.ctp
index 23a6d54..3c1f816 100644
--- a/View/Elements/Components/navigation-groups.ctp
+++ b/View/Elements/Components/navigation-groups.ctp
@@ -37,7 +37,7 @@
?>
-
+
Html->url(
@@ -52,7 +52,7 @@
-
+
Html->addCrumb(_txt('pl.grouperlite.crumb.root'), array('controller' => '
} else {
btn.find('i').removeClass('fa-caret-down').addClass('fa-caret-right');
}
- })
+ });
$('.collapse-wg-working-group-parent').on('hide.bs.collapse', function(ev) {
$(this).siblings('.collapse-wg-working-group').collapse('hide');
diff --git a/View/GrouperGroups/groupmember.ctp b/View/GrouperGroups/groupmember.ctp
index f9e2029..1a98706 100644
--- a/View/GrouperGroups/groupmember.ctp
+++ b/View/GrouperGroups/groupmember.ctp
@@ -15,6 +15,8 @@ if ($isuserowner !== 'T') {
}
$numColumns = count($columns);
+
+$collapsed = true;
?>
0 || count($wgmemberships) > 0) : ?>
@@ -36,14 +38,14 @@ $numColumns = count($columns);
- |
$group) : ?>
-
+
@@ -54,14 +56,14 @@ $numColumns = count($columns);
| |
-
+
element('GrouperLite.Components/optAction', array(
'member' => $group['optOut'],
'action' => 'leavegroup',
'group' => $group['name'],
'idx' => $key
)) : ''; ?>
-
+
-
- Working groups
-
+
+ wgHeading ?? 'Working groups'; ?>
+
|
-
- No working groups. |
+
+ No working groups. |
-
+
-
+
-
+
|
|
-
+
element('GrouperLite.Components/optAction', array(
'member' => $wggroup['optOut'],
'action' => 'leavegroup',
'group' => $wggroup['workingGroupId'],
'idx' => $key
)) : ''; ?>
-
+
@@ -135,7 +137,7 @@ $numColumns = count($columns);
|
$group) : ?>
-
+
|
@@ -145,11 +147,8 @@ $numColumns = count($columns);
|
- |
+ |
-
-
- |
diff --git a/View/GrouperGroups/groupoptin.ctp b/View/GrouperGroups/groupoptin.ctp
index 99cb91f..217337f 100644
--- a/View/GrouperGroups/groupoptin.ctp
+++ b/View/GrouperGroups/groupoptin.ctp
@@ -15,6 +15,9 @@ if ($isuserowner !== 'T') {
}
$numColumns = count($columns);
+
+$collapsed = $config->defaultCollapse ?? false;
+
?>
0 || count($wgoptins) > 0) : ?>
@@ -36,14 +39,14 @@ $numColumns = count($columns);
-
- Ad-hoc groups
-
+
+ adHocHeading ?? 'Ad-hoc groups'; ?>
+
|
$group) : ?>
-
+
@@ -64,14 +67,14 @@ $numColumns = count($columns);
-
- Working groups
-
+
+ wgHeading ?? 'Working groups'; ?>
+
|
$wgoptin) : ?>
-
+
|
diff --git a/View/GrouperGroups/groupowner.ctp b/View/GrouperGroups/groupowner.ctp
index b6dc894..3ea0426 100644
--- a/View/GrouperGroups/groupowner.ctp
+++ b/View/GrouperGroups/groupowner.ctp
@@ -16,6 +16,8 @@ if ($isuserowner !== 'T') {
}
$numColumns = count($columns);
+
+$collapsed = true;
?>
0 || count($wgowners) > 0) : ?>
@@ -37,9 +39,9 @@ $numColumns = count($columns);
-
- Ad-hoc groups
-
+
+ adHocHeading ?? 'Ad-hoc groups'; ?>
+
|
@@ -51,7 +53,7 @@ $numColumns = count($columns);
-
+
@@ -63,18 +65,14 @@ $numColumns = count($columns);
| |
|
-
-
-
-
-
+
element('GrouperLite.Components/optAction', array(
'member' => $group['optOut'],
'action' => 'leavegroup',
'group' => $group['name'],
'idx' => $key
)) : ''; ?>
-
+
@@ -99,46 +97,42 @@ $numColumns = count($columns);
-
- Working groups
-
+
+ wgHeading ?? 'Working groups'; ?>
+
|
-
- No working groups. |
+
+ No working groups. |
-
+
-
+
-
+
|
$group) : ?>
-
+
|
|
|
|
-
-
-
-
-
+
element('GrouperLite.Components/optAction', array(
'member' => $group['optOut'],
'action' => 'leavegroup',
'group' => $group['name'],
'idx' => $key
)) : ''; ?>
-
+
$group) : ?>
-
+
|
|
@@ -166,7 +160,7 @@ $numColumns = count($columns);
|
- |
+ |
| | | | |