diff --git a/Config/Schema/schema.xml b/Config/Schema/schema.xml
index d78fd3c..e72f707 100644
--- a/Config/Schema/schema.xml
+++ b/Config/Schema/schema.xml
@@ -35,6 +35,7 @@
+
diff --git a/Controller/GrouperGroupsController.php b/Controller/GrouperGroupsController.php
index 0134442..9d9b9f0 100644
--- a/Controller/GrouperGroupsController.php
+++ b/Controller/GrouperGroupsController.php
@@ -63,7 +63,7 @@ public function beforeFilter() {
//Need to find which plugin instance choosing, if more than one from cm_co_grouper_lites
// table being used in COmanage.
$grouperConnData = $this->Session->read('Plugin.Grouper.Api');
- if ($this->Session->check('Plugin.Grouper.Api.id') && count($grouperConnData) == 5) {
+ if ($this->Session->check('Plugin.Grouper.Api.id') && count($grouperConnData) == 6) {
if (isset($this->passedArgs['glid'])) {
if ($this->Session->read('Plugin.Grouper.Api.id') !== $this->passedArgs['glid']) {
$this->setConnection();
@@ -93,6 +93,7 @@ private function setConnection() {
$this->Session->write('Plugin.Grouper.Api.version', $connectionInfo['CoGrouperLite']['connVer']);
$this->Session->write('Plugin.Grouper.Api.user', $connectionInfo['CoGrouperLite']['connUser']);
$this->Session->write('Plugin.Grouper.Api.pass', $connectionInfo['CoGrouperLite']['connPass']);
+ $this->Session->write('Plugin.Grouper.Api.grouperUrl', $connectionInfo['CoGrouperLite']['grouperUrl']);
}
/**
@@ -138,7 +139,7 @@ public function groupInfo() {
$this->Flash->set(_txt('pl.grouperlite.message.flash.group-detail-members-failed'), array('key' => 'error'));
}
- $this->set('grouperbaseurl', $this->Session->read('Plugin.Grouper.Api.url'));
+ $this->set('grouperbaseurl', $this->Session->read('Plugin.Grouper.Api.grouperUrl'));
}
/**
diff --git a/Lib/lang.php b/Lib/lang.php
index e466bb1..ca2c6fd 100644
--- a/Lib/lang.php
+++ b/Lib/lang.php
@@ -3,10 +3,12 @@
$cm_grouper_lite_texts['en_US'] = array(
'pl.grouperlite.config.display.title' => 'Grouper Configuration Settings',
'pl.grouperlite.config.edit.title' => 'Edit Grouper Configuration Settings',
- 'pl.grouperlite.config.grouper-url' => 'Grouper URL',
- 'pl.grouperlite.config.grouper-version' => 'Grouper Version',
- 'pl.grouperlite.config.grouper-un' => 'Username',
- 'pl.grouperlite.config.grouper-pw' => 'Password',
+ 'pl.grouperlite.config.grouper-url' => 'Grouper Site URL',
+ 'pl.grouperlite.config.grouper-url-subscript' => '(Example: https://grouper.prod.at.internet2.edu)',
+ 'pl.grouperlite.config.grouper-ws-url' => 'Grouper Webservice URL',
+ '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.crumb.root' => 'Grouper',
'pl.grouperlite.nav.groups-can-join' => 'Groups I can join',
diff --git a/Model/CoGrouperLite.php b/Model/CoGrouperLite.php
index a0798e3..bb07103 100644
--- a/Model/CoGrouperLite.php
+++ b/Model/CoGrouperLite.php
@@ -64,6 +64,9 @@ class CoGrouperLite extends CoDashboardWidgetBackend {
'connVer' => array(
'required' => true
),
+ 'grouperUrl' => array(
+ 'required' => true
+ ),
'connUser' => array(
'required' => true
),
diff --git a/Model/GrouperGroup.php b/Model/GrouperGroup.php
index 2d7b0d9..4195374 100644
--- a/Model/GrouperGroup.php
+++ b/Model/GrouperGroup.php
@@ -128,6 +128,7 @@ public function filteredMemberOfGroups(array $conditions) {
$optOutGroups = $this->grouperAPI->getOptionalGroups($conditions);
foreach ($memberOfGroups as &$memberOfGroup) {
+ $memberOfGroup['optOut'] = false;
foreach ($optOutGroups as $key => $value) {
if ($value['name'] == $memberOfGroup['name']) {
//Match!
@@ -330,6 +331,7 @@ public function groupDescriptions(string $groupName) {
$args['groupName'] = $groupName;
$groupDescription = $this->grouperAPI->getGrouperGroupInfo($args);
+ $groupDescription[0]['friendlyName'] = $groupDescription[0]['displayName'];
return $groupDescription;
diff --git a/View/CoGrouperLites/fields.inc b/View/CoGrouperLites/fields.inc
index 3811a43..ac32dee 100644
--- a/View/CoGrouperLites/fields.inc
+++ b/View/CoGrouperLites/fields.inc
@@ -72,16 +72,45 @@ print $this->Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
- Form->label('connUrl', _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->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);
+ }
+ }
+ ?>
+
+
+
+
+
+ Form->label('connUrl', _txt('pl.grouperlite.config.grouper-ws-url')) : _txt('pl.grouperlite.config.grouper-url')); ?>
*
Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
- Form->label('connVer', _txt('pl.grouperlite.config.grouper-version')) : _txt('pl.grouperlite.config.grouper-version')); ?>
+ Form->label('connVer', _txt('pl.grouperlite.config.grouper-ws-version')) : _txt('pl.grouperlite.config.grouper-version')); ?>
*
Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
- Form->label('connUser', _txt('pl.grouperlite.config.grouper-un')) : _txt('pl.grouperlite.config.grouper-un')); ?>
+ Form->label('connUser', _txt('pl.grouperlite.config.grouper-ws-un')) : _txt('pl.grouperlite.config.grouper-un')); ?>
*
Form->hidden('co_dashboard_widget_id', array('default' => $vv_dwid)
- Form->label('connPass', _txt('pl.grouperlite.config.grouper-pw')) : _txt('pl.grouperlite.config.grouper-pw')); ?>
+ Form->label('connPass', _txt('pl.grouperlite.config.grouper-ws-pw')) : _txt('pl.grouperlite.config.grouper-pw')); ?>
*
element('GrouperLite.Components/optAction', array(
- 'member' => $group['member'],
+ 'member' => false,
'action' => 'joingroup',
'group' => $group['name'],
'idx' => $key
@@ -77,7 +77,7 @@ $numColumns = count($columns);
|
element('GrouperLite.Components/optAction', array(
- 'member' => $wgoptin['member'],
+ 'member' => false,
'action' => 'joingroup',
'group' => $wgoptin['workingGroupId'],
'idx' => $key
|