Skip to content

Commit

Permalink
Implemented changes - hide edit button, hid create group button, fixe…
Browse files Browse the repository at this point in the history
…d bugs
  • Loading branch information
rmathis committed Dec 9, 2021
1 parent e9dc3b7 commit 279f072
Show file tree
Hide file tree
Showing 9 changed files with 185 additions and 79 deletions.
3 changes: 3 additions & 0 deletions Config/Schema/schema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
<field name="grouperUrl" type="C" size="256" />
<field name="connUser" type="C" size="64" />
<field name="connPass" type="C" size="64" />
<field name="adHocHeading" type="C" size="64" />
<field name="wgHeading" type="C" size="64" />
<field name="defaultCollapse" type="C" size="64" />
<field name="created" type="T" />
<field name="modified" type="T" />

Expand Down
6 changes: 6 additions & 0 deletions Lib/lang.php
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
14 changes: 14 additions & 0 deletions Model/CoGrouperLite.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
),
);

}
127 changes: 107 additions & 20 deletions View/CoGrouperLites/fields.inc
Original file line number Diff line number Diff line change
Expand Up @@ -72,32 +72,32 @@ print $this->Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
<li>
<div class="field-name">
<div class="field-title">
<?php print($e ? $this->Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url')) : _txt('pl.grouperlite.config.grouper-url')); ?>
<?php print($e ? $this->Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url')) : _txt('pl.grouperlite.config.grouper-url')); ?>
<span class="required">*</span>
<br/><sub>
<?php print($e ? $this->Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url-subscript')) : _txt('pl.grouperlite.config.grouper-url-subscript')); ?>
</sub>
<br /><sub>
<?php print($e ? $this->Form->label('grouperUrl', _txt('pl.grouperlite.config.grouper-url-subscript')) : _txt('pl.grouperlite.config.grouper-url-subscript')); ?>
</sub>
</div>
</div>
<div class="field-info">
<?php
$attrs = array();
$attrs['value'] = ($co_grouper_lites[0]['CoGrouperLite']['grouperUrl'] ?? '');
$attrs['empty'] = true;
$attrs['required'] = true;
<?php
$attrs = array();
$attrs['value'] = ($co_grouper_lites[0]['CoGrouperLite']['grouperUrl'] ?? '');
$attrs['empty'] = true;
$attrs['required'] = true;

if ($e) {
print $this->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);
}
}
}
?>
?>
</div>
</li>
<li>
Expand Down Expand Up @@ -213,6 +213,93 @@ print $this->Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
</div>
</li>

<li>
<div class="field-name">
<div class="field-title">
<?php print($e ? $this->Form->label('adHocHeading', _txt('pl.grouperlite.config.ad-hoc-heading')) : _txt('pl.grouperlite.config.ad-hoc-heading')); ?>
</div>
</div>
<div class="field-info">
<?php
$attrs = array();
$attrs['value'] = ($co_grouper_lites[0]['CoGrouperLite']['adHocHeading'] ?? '');
$attrs['empty'] = true;
$attrs['required'] = false;

if ($e) {
print $this->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);
}
}
?>
</div>
</li>

<li>
<div class="field-name">
<div class="field-title">
<?php print($e ? $this->Form->label('wgHeading', _txt('pl.grouperlite.config.wg-heading')) : _txt('pl.grouperlite.config.wg-heading')); ?>
</div>
</div>
<div class="field-info">
<?php
$attrs = array();
$attrs['value'] = ($co_grouper_lites[0]['CoGrouperLite']['wgHeading'] ?? '');
$attrs['empty'] = true;
$attrs['required'] = false;

if ($e) {
print $this->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);
}
}
?>
</div>
</li>

<li>
<div class="field-name">
<div class="field-title">
<?php print($e ? $this->Form->label('defaultCollapse', _txt('pl.grouperlite.config.default-collapse')) : _txt('pl.grouperlite.config.default-collapse')); ?>
</div>
</div>
<div class="field-info">
<?php

if ($e) {
print $this->Form->radio('defaultCollapse', array(
'collapsed' => 'True',
'expanded' => 'False'
), array(
'value' => $co_grouper_lites[0]['CoGrouperLite']['defaultCollapse'] === 'expanded',
'legend' => false,
'separator' => '&nbsp;&nbsp;'
));

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);
}
}
?>
</div>
</li>

<?php if ($e) : ?>
<li class="fields-submit">
<div class="field-name">
Expand All @@ -229,4 +316,4 @@ print $this->Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
<div class="d-flex align-items-center">
<h2><?php echo $params['title']; ?></h2>
</div>
</div>
</div>
4 changes: 2 additions & 2 deletions View/Elements/Components/navigation-groups.ctp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
?>
</div>
</div>
<?php if ($isuserowner === 'T') { ?>
<?php /* if ($isuserowner === 'T') { ?>
<div class="align-self-center">
<?php
$createGroupUrl = $this->Html->url(
Expand All @@ -52,7 +52,7 @@
<i class="fa fa-plus-circle"></i>&nbsp; <?php echo _txt('pl.grouperlite.nav.create-group'); ?>
</a>
</div>
<?php } ?>
<?php } */ ?>
<?php if ($isTemplateUser === 'T') { ?>
<div class="align-self-center">
<?php
Expand Down
2 changes: 1 addition & 1 deletion View/GrouperGroups/base.ctp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ $this->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');
Expand Down
41 changes: 20 additions & 21 deletions View/GrouperGroups/groupmember.ctp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ if ($isuserowner !== 'T') {
}

$numColumns = count($columns);

$collapsed = true;
?>
<?php if (count($groupmemberships) > 0 || count($wgmemberships) > 0) : ?>
<div class="grouper-table">
Expand All @@ -36,14 +38,14 @@ $numColumns = count($columns);
<tbody>
<tr class="table-secondary">
<td colspan="<?php echo $numColumns; ?>">
<button type="button" class="btn btn-link btn-text collapse-btn collapsed fw-bold m-0" data-toggle="collapse" data-target=".collapse-adhoc-group-parent" role="button" aria-expanded="false">
Ad-hoc groups
<i class="fa fa-caret-right fa-sm"></i>
<button type="button" class="btn btn-link btn-text collapse-btn <?php echo $collapsed ? 'collapsed' : ''; ?> fw-bold m-0" data-toggle="collapse" data-target=".collapse-adhoc-group-parent" role="button" aria-expanded="<?php echo $collapsed ? 'false' : 'true'; ?>">
<?php echo $config->adHocHeading ?? 'Ad-hoc groups'; ?>
<i class="fa <?php echo $collapsed ? 'fa-caret-right' : 'fa-caret-down' ?> fa-sm"></i>
</button>
</td>
</tr>
<?php foreach ($groupmemberships as $key => $group) : ?>
<tr class="collapse collapse-adhoc-group-parent">
<tr class="<?php echo $collapsed ? 'collapse' : 'show'; ?> collapse-adhoc-group-parent">
<td class="pl-3">
<span class="grpr-popover-toggle" data-container="body" data-toggle="popover" data-placement="top" data-content="<?php echo $group['name']; ?>">
<?php echo $group['friendlyName'] ?? "No Name"; ?>
Expand All @@ -54,14 +56,14 @@ $numColumns = count($columns);
<?php } ?>
<td><?php echo $group['description'] ?? _txt('pl.grouperlite.value.descr.zerostate'); ?></td>
<td>
<span class="btn-group d-flex flex-row justify-content-center align-items-center">
<span class="d-flex flex-row justify-content-center align-items-center">
<?php echo $group['optOut'] ? $this->element('GrouperLite.Components/optAction', array(
'member' => $group['optOut'],
'action' => 'leavegroup',
'group' => $group['name'],
'idx' => $key
)) : ''; ?>
<button class="btn btn-grouper btn-block btn-primary btn-sm my-1 text-nowrap members-btn" data-id="<?php echo urlencode($group['name']); ?>"><?php echo _txt('pl.grouperlite.action.members'); ?> <i class="fa fa-group"></i></button>
<button class="btn btn-grouper btn-block btn-primary btn-sm m-1 text-nowrap members-btn" data-id="<?php echo urlencode($group['name']); ?>"><?php echo _txt('pl.grouperlite.action.members'); ?> <i class="fa fa-group"></i></button>
<?php if ($isuserowner === 'T') : ?>
<?php
$baseUrl = $grouperbaseurl;
Expand All @@ -84,37 +86,37 @@ $numColumns = count($columns);
<tbody>
<tr class="table-secondary">
<td colspan="<?php echo $numColumns; ?>">
<button type="button" class="btn btn-link btn-text collapse-btn fw-bold m-0 work-group-heading-btn" data-toggle="collapse" data-target=".collapse-wg-working-group-parent" role="button" aria-expanded="false">
Working groups
<i class="fa fa-caret-down fa-sm"></i>
<button type="button" class="btn btn-link btn-text <?php echo $collapsed ? 'collapsed' : ''; ?> collapse-btn fw-bold m-0 work-group-heading-btn" data-toggle="collapse" data-target=".collapse-wg-working-group-parent" role="button" aria-expanded="<?php echo $collapsed ? 'false' : 'true'; ?>">
<?php echo $config->wgHeading ?? 'Working groups'; ?>
<i class="fa <?php echo $collapsed ? 'fa-caret-right' : 'fa-caret-down' ?> fa-sm"></i>
</button>
</td>
</tr>
<?php if (!count($wgmemberships)) : ?>
<tr class="table-light collapse collapse-wg-working-group-parent show">
<td colspan="5" class="text-center">No working groups.</td>
<tr class="table-light <?php echo $collapsed ? 'collapse' : 'show'; ?> collapse-wg-working-group-parent">
<td colspan="<?php echo $numColumns; ?>" class="text-center">No working groups.</td>
</tr>
<?php endif; ?>
<?php foreach ($wgmemberships as $wggroup) : ?>
<tr class="table-light collapse collapse-wg-working-group-parent show">
<tr class="table-light <?php echo $collapsed ? 'collapse' : 'show'; ?> collapse-wg-working-group-parent">
<td colspan="<?php echo $numColumns - 2; ?>">
<button type="button" class="btn btn-link btn-text collapse-btn fw-bold m-0 collapsed" data-toggle="collapse" data-target=".collapse-wg-<?php echo $wggroup['WGName']; ?>" role="button" aria-expanded="false">
<button type="button" class="btn btn-link btn-text collapse-btn fw-bold m-0 <?php echo $collapsed ? 'collapsed' : ''; ?>" data-toggle="collapse" data-target=".collapse-wg-<?php echo $wggroup['WGName']; ?>" role="button" aria-expanded="<?php echo $collapsed ? 'false' : 'true'; ?>">
<?php echo $wggroup['WGName'] ?? "No Name"; ?>
<i class="fa fa-caret-right fa-sm"></i>
<i class="fa <?php echo $collapsed ? 'fa-caret-right' : 'fa-caret-down' ?> fa-sm"></i>
</button>
</td>
<td>
<?php echo $wggroup['workingDesc'] ?? " "; ?>
</td>
<td>
<span class="btn-group d-flex flex-row justify-content-center align-items-center">
<span class="d-flex flex-row justify-content-center align-items-center">
<?php echo $wggroup['optOut'] ? $this->element('GrouperLite.Components/optAction', array(
'member' => $wggroup['optOut'],
'action' => 'leavegroup',
'group' => $wggroup['workingGroupId'],
'idx' => $key
)) : ''; ?>
<button class="btn btn-grouper btn-block btn-primary btn-sm my-1 text-nowrap members-btn" data-id="<?php echo $wggroup['WGName']; ?>">
<button class="btn btn-grouper btn-block btn-primary btn-sm m-1 text-nowrap members-btn" data-id="<?php echo $wggroup['WGName']; ?>">
<?php echo _txt('pl.grouperlite.action.members'); ?> <i class="fa fa-group"></i>
</button>
<?php if ($isuserowner === 'T') : ?>
Expand All @@ -135,7 +137,7 @@ $numColumns = count($columns);
</td>
</tr>
<?php foreach ($wggroup['Groups'] as $key => $group) : ?>
<tr class="collapse collapse-wg-working-group collapse-wg-<?php echo $wggroup['WGName']; ?>" id="collapse-wg-<?php echo $wggroup['WGName'] . '-' . $key; ?>">
<tr class="<?php echo $collapsed ? 'collapse' : 'show'; ?> collapse-wg-working-group collapse-wg-<?php echo $wggroup['WGName']; ?>" id="collapse-wg-<?php echo $wggroup['WGName'] . '-' . $key; ?>">
<td class="pl-3">
<?php echo $group['WGApp'] ?? "No Name"; ?>
</td>
Expand All @@ -145,11 +147,8 @@ $numColumns = count($columns);
<?php if (strpos($group['WGApp'], '@lists') !== false) : ?>
<td><?php echo _txt('pl.grouperlite.value.email'); ?></td>
<?php else : ?>
<td><?php echo _txt('pl.grouperlite.value.' . $group['WGApp']) ?? _txt('pl.grouperlite.value.descr.zerostate'); ?></td>
<td><?php echo _txt('pl.grouperlite.value.' . strtolower($group['WGApp'])) ?? _txt('pl.grouperlite.value.descr.zerostate'); ?></td>
<?php endif; ?>
<td>

</td>
</tr>
<?php endforeach; ?>
<?php endforeach; ?>
Expand Down
Loading

0 comments on commit 279f072

Please sign in to comment.