From 279f072810d82e3262167a5deb16c36f3995c46a Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Thu, 9 Dec 2021 13:24:59 -0700 Subject: [PATCH] Implemented changes - hide edit button, hid create group button, fixed bugs --- Config/Schema/schema.xml | 3 + Lib/lang.php | 6 + Model/CoGrouperLite.php | 14 ++ View/CoGrouperLites/fields.inc | 127 +++++++++++++++--- .../Elements/Components/navigation-groups.ctp | 4 +- View/GrouperGroups/base.ctp | 2 +- View/GrouperGroups/groupmember.ctp | 41 +++--- View/GrouperGroups/groupoptin.ctp | 19 +-- View/GrouperGroups/groupowner.ctp | 48 +++---- 9 files changed, 185 insertions(+), 79 deletions(-) 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 )) : ''; ?> - + - - - 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); - $group) : ?> - + @@ -64,14 +67,14 @@ $numColumns = count($columns); - $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); - @@ -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); - - - 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); - +