wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/css/foundation-6.min.css' );
wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . '/js/foundation-6.min.js' );
+ // Lead Tabulater js library
wp_enqueue_style( 'Tabulator', GLM_MEMBERS_PLUGINS_PLUGIN_URL . '/js/tabulator/dist/css/tabulator.min.css' );
wp_enqueue_script( 'Tabulator', GLM_MEMBERS_PLUGINS_PLUGIN_URL . '/js/tabulator/dist/js/tabulator.min.js' );
if ( $server['fieldData']['production']['value'] ) {
$tData['sites'] = $this->wpdb->get_results(
$this->wpdb->prepare(
- "SELECT S.name as site_name,S.prod_url as url
+ "SELECT S.id,S.name as site_name,S.prod_url as url
FROM " . GLM_MEMBERS_PLUGINS_PLUGIN_DB_PREFIX . "sites S
LEFT OUTER JOIN " . GLM_MEMBERS_PLUGINS_PLUGIN_DB_PREFIX . "servers PS ON (PS.id = S.prod_server)
WHERE PS.id = %d
} else {
$tData['sites'] = $this->wpdb->get_results(
$this->wpdb->prepare(
- "SELECT S.name as site_name,S.dev_url as url
+ "SELECT S.id,S.name as site_name,S.dev_url as url
FROM " . GLM_MEMBERS_PLUGINS_PLUGIN_DB_PREFIX . "sites S
LEFT OUTER JOIN " . GLM_MEMBERS_PLUGINS_PLUGIN_DB_PREFIX . "servers DS ON (DS.id = S.dev_server)
WHERE DS.id = %d
$option2 = false;
$viewPath = 'admin/plugins/';
- // Setup Foundation 6
+ // Setup Foundation 6.
wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . 'css/foundation-6.min.css' );
wp_enqueue_script( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . 'js/foundation-6.min.js' );
+ // Load Tabulator js library.
wp_enqueue_style( 'Tabulator', GLM_MEMBERS_PLUGINS_PLUGIN_URL . '/js/tabulator/dist/css/tabulator.min.css' );
wp_enqueue_script( 'Tabulator', GLM_MEMBERS_PLUGINS_PLUGIN_URL . '/js/tabulator/dist/js/tabulator.min.js' );
$plugin = $this->updateEntry( $id );
}
-
case 'view':
$view = 'site-detail';
if ( isset( $_REQUEST['site_id'] ) && $id = filter_var( $_REQUEST['site_id'], FILTER_VALIDATE_INT ) ) {
$tData['site'] = $site;
$tData['plugins'] = $this->wpdb->get_results(
$this->wpdb->prepare(
- "SELECT P.name,P.latest_version,SP.prod_version,SP.dev_version
+ "SELECT SP.id as site_plugin_id,P.id,P.name,P.latest_version,SP.prod_version,SP.dev_version
FROM " . GLM_MEMBERS_PLUGINS_PLUGIN_DB_PREFIX . "site_plugins SP
LEFT OUTER JOIN " . GLM_MEMBERS_PLUGINS_PLUGIN_DB_PREFIX . "plugins P ON (P.id = SP.plugin)
WHERE SP.site = %d
{$data = $plugin}
- {* Name *}
- {$ui = [
- 'value' => $data.fieldData.name,
- 'field' => 'name',
- 'label' => 'Name',
- 'required' => $data.fieldRequired.name,
- 'errorText' => 'Name is Required',
- 'dataError' => $data.fieldFail.name
- ]}
- {include file='ui/f6/text.html'}
-
- {* Latest Version *}
- {$ui = [
- 'value' => $data.fieldData.latest_version,
- 'field' => 'latest_version',
- 'label' => 'Latest Version',
- 'required' => $data.fieldRequired.latest_version,
- 'errorText' => 'Latest Version is Required',
- 'dataError' => $data.fieldFail.latest_version
- ]}
- {include file='ui/f6/text.html'}
-
- {* Notes *}
- {$ui = [
- 'value' => $data.fieldData.notes,
- 'field' => 'notes',
- 'label' => 'Notes',
- 'height' => '250',
- 'teeny' => true,
- 'required' => $data.fieldRequired.notes,
- 'errorText' => 'Notes is Required',
- 'dataError' => $data.fieldFail.notes
- ]}
- {include file='ui/f6/editor.html'}
-
- {* GLMA *}
- {$ui = [
- 'value' => $data.fieldData.glm_associate.value|default:'',
- 'field' => 'glm_associate',
- 'label' => 'GLMA',
- 'required' => $data.fieldRequired.glm_associate,
- 'errorText' => 'GLMA is Required',
- 'dataError' => $data.fieldFail.glm_associate
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Plugin Submit *}
- {$ui = [
- 'class' => 'primary',
- 'label' => 'Save',
- 'submit' => true,
- 'id' => 'plugin-submit',
- 'cancel' => ""
- ]}
- {include file='ui/f6/submit.html'}
+ <div class="grid-x grid-margin-x">
+
+ {* Section Start *}
+ {$ui = [
+ 'title' => '',
+ 'wrapSize' => '5',
+ 'callout' => true
+ ]}
+ {include file="ui/f6/section-start.html"}
+
+ {* Name *}
+ {$ui = [
+ 'value' => $data.fieldData.name,
+ 'field' => 'name',
+ 'label' => 'Name',
+ 'required' => $data.fieldRequired.name,
+ 'errorText' => 'Name is Required',
+ 'dataError' => $data.fieldFail.name
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Latest Version *}
+ {$ui = [
+ 'value' => $data.fieldData.latest_version,
+ 'field' => 'latest_version',
+ 'label' => 'Latest Version',
+ 'required' => $data.fieldRequired.latest_version,
+ 'errorText' => 'Latest Version is Required',
+ 'dataError' => $data.fieldFail.latest_version
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* GLMA *}
+ {$ui = [
+ 'value' => $data.fieldData.glm_associate.value|default:'',
+ 'field' => 'glm_associate',
+ 'label' => 'GLMA',
+ 'required' => $data.fieldRequired.glm_associate,
+ 'errorText' => 'GLMA is Required',
+ 'dataError' => $data.fieldFail.glm_associate
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {include file="ui/f6/section-end.html"}
+
+ {* Section Start *}
+ {$ui = [
+ 'title' => '',
+ 'wrapSize' => '7',
+ 'callout' => true
+ ]}
+ {include file="ui/f6/section-start.html"}
+
+ {* Notes *}
+ {$ui = [
+ 'value' => $data.fieldData.notes,
+ 'field' => 'notes',
+ 'label' => 'Notes',
+ 'height' => '250',
+ 'teeny' => true,
+ 'required' => $data.fieldRequired.notes,
+ 'errorText' => 'Notes is Required',
+ 'dataError' => $data.fieldFail.notes
+ ]}
+ {include file='ui/f6/editor.html'}
+
+ {include file="ui/f6/section-end.html"}
+
+ {* Plugin Submit *}
+ {$ui = [
+ 'class' => 'primary',
+ 'label' => 'Save',
+ 'submit' => true,
+ 'id' => 'plugin-submit',
+ 'cancel' => ""
+ ]}
+ {include file='ui/f6/submit.html'}
+
+ </div>
{* Form End *}
{include file='ui/f6/form-end.html'}
-<style>
- .row-green {
- background-color: rgb( 225, 250, 234 );
- }
- .row-red {
- background-color: rgb( 247, 228, 225 );
- }
-</style>
-
{if $newEntry}
{$baseUrl = "{$thisUrl}?page={$thisPage}&glm_action={$thisAction}&option=view"}
{else}
<a class="button primary" href="{$baseUrl}&option=pluginSite{if !empty($smarty.request.order)}&order={$smarty.request.order}{/if}">Add Site</a>
-{if !empty($sites) && !$newEntry}
- <table class="stack hover hide">
- <tr>
- <th class="text-left"><a href="{$baseUrl}&order={if !empty($smarty.request.order) && $smarty.request.order != 'nameA'}nameA{else}nameD{/if}">Site Name</a></th>
- <th class="text-left"><a href="{$baseUrl}&order={if !empty($smarty.request.order) && $smarty.request.order != 'prod_serverA'}prod_serverA{else}prod_serverD{/if}">Prod Server</a></th>
- <th class="text-left"><a href="{$baseUrl}&order={if !empty($smarty.request.order) && $smarty.request.order != 'prod_versionA'}prod_versionA{else}prod_versionD{/if}">Prod Version</a></th>
- <th class="text-left"><a href="{$baseUrl}&order={if !empty($smarty.request.order) && $smarty.request.order != 'dev_serverA'}dev_serverA{else}dev_serverD{/if}">Dev Server</a></th>
- <th class="text-left"><a href="{$baseUrl}&order={if !empty($smarty.request.order) && $smarty.request.order != 'dev_versionA'}dev_versionA{else}dev_versionD{/if}">Dev Version</a></th>
- </tr>
- {foreach $sites as $site}
- <tr>
- <td><a href="{$baseUrl}&option=pluginSite&site_id={$site.id}{if !empty($smarty.request.order)}&order={$smarty.request.order}{/if}">{$site.site_name}</a></td>
- <td width="110">{$site.prod_server}</td>
- <td width="110" class="{if !empty($site.prod_version) && version_compare( $plugin.fieldData.latest_version, $site.prod_version, '>' )}row-red{elseif !empty($site.prod_version)}row-green{/if}">{$site.prod_version}</td>
- <td width="110">{$site.dev_server}</td>
- <td width="110" class="{if !empty($site.dev_version) && version_compare( $plugin.fieldData.latest_version, $site.dev_version, '>' )}row-red{elseif !empty($site.dev_version)}row-green{/if}">{$site.dev_version}</td>
- </tr>
- {/foreach}
- </table>
-
- <div id="siteList"></div>
-{/if}
+<div id="siteList"></div>
{* Grid End *}
{include file='ui/f6/grid-end.html'}
$(document).foundation();
var tabledata = [
{foreach $sites as $site}
- { id:"{$site.site_plugin_id}", siteId: "{$site.id}", name:"{$site.site_name|escape:'quotes'}",
- prodServer: "{$site.prod_server}", prodVersion: "{$site.prod_version}",
- prodUpToDate: {if !empty($site.prod_version) && version_compare( $plugin.fieldData.latest_version, $site.prod_version, '>' )}false{elseif !empty($site.prod_version)}true{else}null{/if},
- devServer: "{$site.dev_server}", devVersion: "{$site.dev_version}",
- devUpToDate: {if !empty($site.dev_version) && version_compare( $plugin.fieldData.latest_version, $site.dev_version, '>' )}false{elseif !empty($site.dev_version)}true{else}null{/if}
+ {
+ id:"{$site.site_plugin_id}",
+ siteId: "{$site.id}",
+ name:"{$site.site_name|escape:'quotes'}",
+ prodServer: "{$site.prod_server}",
+ prodVersion: "{$site.prod_version}",
+ prodUpToDate: {if !empty($site.prod_version) && version_compare( $plugin.fieldData.latest_version, $site.prod_version, '>' )}false{elseif !empty($site.prod_version)}true{else}null{/if},
+ devServer: "{$site.dev_server}",
+ devVersion: "{$site.dev_version}",
+ devUpToDate: {if !empty($site.dev_version) && version_compare( $plugin.fieldData.latest_version, $site.dev_version, '>' )}false{elseif !empty($site.dev_version)}true{else}null{/if}
},
{/foreach}
];
{literal}
+ /**
+ * Function updateVersion. Calls the ajax handler to save tho date for the version.
+ *
+ * Saves the data for prod and dev versions for the site_plugin record of that row.
+ *
+ * @param Object cell Tabulator cell object.
+ *
+ * @return void
+ */
function updateVersion( cell ) {
if ( cell == undefined ) {
console.log('ERROR');
{$data = $server}
- <input type="hidden" name="glm_action" value="servers">
- <input type="hidden" name="option" value="save">
- <input type="hidden" name="server_id" value="{$server.fieldData.id}">
-
- {* Production *}
- {$ui = [
- 'value' => $data.fieldData.production.value,
- 'field' => 'production',
- 'label' => 'Production',
- 'required' => $data.fieldRequired.production,
- 'errorText' => 'Production is Required',
- 'dataError' => $data.fieldFail.production
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Name *}
- {$ui = [
- 'value' => $data.fieldData.name,
- 'field' => 'name',
- 'label' => 'Name',
- 'required' => $data.fieldRequired.name,
- 'errorText' => 'Name is Required',
- 'dataError' => $data.fieldFail.name
- ]}
- {include file='ui/f6/text.html'}
-
- {* Location *}
- {$ui = [
- 'value' => $data.fieldData.location,
- 'field' => 'location',
- 'label' => 'Location',
- 'required' => $data.fieldRequired.location,
- 'errorText' => 'Location is Required',
- 'dataError' => $data.fieldFail.location
- ]}
- {include file='ui/f6/text.html'}
-
- {* PHP Version *}
- {$ui = [
- 'value' => $data.fieldData.php_version,
- 'field' => 'php_version',
- 'label' => 'PHP Version',
- 'required' => $data.fieldRequired.php_version,
- 'errorText' => 'PHP Version is Required',
- 'dataError' => $data.fieldFail.php_version
- ]}
- {include file='ui/f6/text.html'}
-
- {* Mysql Version *}
- {$ui = [
- 'value' => $data.fieldData.mysql_version,
- 'field' => 'mysql_version',
- 'label' => 'Mysql Version',
- 'required' => $data.fieldRequired.mysql_version,
- 'errorText' => 'Mysql Version is Required',
- 'dataError' => $data.fieldFail.mysql_version
- ]}
- {include file='ui/f6/text.html'}
-
- {* Save *}
- {$ui = [
- 'class' => 'primary',
- 'label' => 'Save',
- 'submit' => true,
- 'id' => 'form-save',
- 'cancel' => ""
- ]}
- {include file='ui/f6/submit.html'}
+ <div class="grid-x grid-margin-x">
+
+ <input type="hidden" name="glm_action" value="servers">
+ <input type="hidden" name="option" value="save">
+ <input type="hidden" name="server_id" value="{$server.fieldData.id}">
+
+ {* Section Start *}
+ {$ui = [
+ 'title' => '',
+ 'wrapSize' => '6',
+ 'callout' => true
+ ]}
+ {include file="ui/f6/section-start.html"}
+
+ {* Production *}
+ {$ui = [
+ 'value' => $data.fieldData.production.value,
+ 'field' => 'production',
+ 'label' => 'Production',
+ 'required' => $data.fieldRequired.production,
+ 'errorText' => 'Production is Required',
+ 'dataError' => $data.fieldFail.production
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Name *}
+ {$ui = [
+ 'value' => $data.fieldData.name,
+ 'field' => 'name',
+ 'label' => 'Name',
+ 'required' => $data.fieldRequired.name,
+ 'errorText' => 'Name is Required',
+ 'dataError' => $data.fieldFail.name
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Location *}
+ {$ui = [
+ 'value' => $data.fieldData.location,
+ 'field' => 'location',
+ 'label' => 'Location',
+ 'required' => $data.fieldRequired.location,
+ 'errorText' => 'Location is Required',
+ 'dataError' => $data.fieldFail.location
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {include file="ui/f6/section-end.html"}
+
+ {* Section Start *}
+ {$ui = [
+ 'title' => '',
+ 'wrapSize' => '6',
+ 'callout' => true
+ ]}
+ {include file="ui/f6/section-start.html"}
+
+ {* PHP Version *}
+ {$ui = [
+ 'value' => $data.fieldData.php_version,
+ 'field' => 'php_version',
+ 'label' => 'PHP Version',
+ 'required' => $data.fieldRequired.php_version,
+ 'errorText' => 'PHP Version is Required',
+ 'dataError' => $data.fieldFail.php_version
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Mysql Version *}
+ {$ui = [
+ 'value' => $data.fieldData.mysql_version,
+ 'field' => 'mysql_version',
+ 'label' => 'Mysql Version',
+ 'required' => $data.fieldRequired.mysql_version,
+ 'errorText' => 'Mysql Version is Required',
+ 'dataError' => $data.fieldFail.mysql_version
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {include file="ui/f6/section-end.html"}
+
+ {* Save *}
+ {$ui = [
+ 'class' => 'primary',
+ 'label' => 'Save',
+ 'submit' => true,
+ 'id' => 'form-save',
+ 'cancel' => ""
+ ]}
+ {include file='ui/f6/submit.html'}
+
+ </div>
{* Form End *}
{include file='ui/f6/form-end.html'}
],
rowClick:function(e, row){
console.log('Row ' + row.getData().id + ' Clicked!!!');
+ window.location.href="{/literal}{$thisUrl}?page={$thisPage}&glm_action=sites&option=view&site_id={literal}" + row.getData().id;
}
});
{/literal}
{$ui = [
'nowrap' => false,
'backgroundColor' => '',
- 'sectionColor' => ''
+ 'sectionColor' => '',
+ 'startGridX' => false
]}
{include file='ui/f6/grid-start.html'}
{$data = $site}
- {* Active *}
- {$ui = [
- 'value' => $data.fieldData.active.value,
- 'field' => 'active',
- 'label' => 'Active',
- 'required' => $data.fieldRequired.active,
- 'errorText' => 'Active is Required',
- 'dataError' => $data.fieldFail.active
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Name *}
- {$ui = [
- 'value' => $data.fieldData.name,
- 'field' => 'name',
- 'label' => 'Name',
- 'required' => $data.fieldRequired.name,
- 'errorText' => 'Name is Required',
- 'dataError' => $data.fieldFail.name
- ]}
- {include file='ui/f6/text.html'}
-
- {* Prod Url *}
- {$ui = [
- 'value' => $data.fieldData.prod_url,
- 'field' => 'prod_url',
- 'label' => 'Prod Url',
- 'required' => $data.fieldRequired.prod_url,
- 'errorText' => 'Prod Url is Required',
- 'dataError' => $data.fieldFail.prod_url
- ]}
- {include file='ui/f6/text.html'}
-
- {* Dev Url *}
- {$ui = [
- 'value' => $data.fieldData.dev_url,
- 'field' => 'dev_url',
- 'label' => 'Dev Url',
- 'required' => $data.fieldRequired.dev_url,
- 'errorText' => 'Dev Url is Required',
- 'dataError' => $data.fieldFail.dev_url
- ]}
- {include file='ui/f6/text.html'}
-
- {* Prod Server *}
- {$ui = [
- 'value' => $data.fieldData.prod_server.value,
- 'field' => 'prod_server',
- 'label' => 'Prod Server',
- 'list' => $data.fieldData.prod_server.list,
- 'l_label' => 'name',
- 'l_value' => 'value',
- 'l_blank' => false,
- 'required' => $data.fieldRequired.prod_server,
- 'errorText' => 'Prod Server is Required',
- 'dataError' => $data.fieldFail.prod_server
- ]}
- {include file='ui/f6/select.html'}
-
- {* Dev Server *}
- {$ui = [
- 'value' => $data.fieldData.dev_server.value,
- 'field' => 'dev_server',
- 'label' => 'Dev Server',
- 'list' => $data.fieldData.dev_server.list,
- 'l_label' => 'name',
- 'l_value' => 'value',
- 'l_blank' => false,
- 'required' => $data.fieldRequired.dev_server,
- 'errorText' => 'Dev Server is Required',
- 'dataError' => $data.fieldFail.dev_server
- ]}
- {include file='ui/f6/select.html'}
-
- {* Map Key *}
- {$ui = [
- 'value' => $data.fieldData.map_key,
- 'field' => 'map_key',
- 'label' => 'Map Key',
- 'required' => $data.fieldRequired.map_key,
- 'errorText' => 'Map Key is Required',
- 'dataError' => $data.fieldFail.map_key
- ]}
- {include file='ui/f6/text.html'}
-
- {* Has Contacts *}
- {$ui = [
- 'value' => $data.fieldData.has_contacts.value,
- 'field' => 'has_contacts',
- 'label' => 'Has Contacts',
- 'required' => $data.fieldRequired.has_contacts,
- 'errorText' => 'Has Contacts is Required',
- 'dataError' => $data.fieldFail.has_contacts
- ]}
- {include file='ui/f6/checkbox.html'}
-
- {* Has Members *}
- {$ui = [
- 'value' => $data.fieldData.has_members.value,
- 'field' => 'has_members',
- 'label' => 'Has Members',
- 'required' => $data.fieldRequired.has_members,
- 'errorText' => 'Has Members is Required',
- 'dataError' => $data.fieldFail.has_members
- ]}
- {include file='ui/f6/checkbox.html'}
+ <div class="grid-x grid-margin-x">
+
+ {* Section Start *}
+ {$ui = [
+ 'title' => '',
+ 'wrapSize' => '6',
+ 'callout' => true
+ ]}
+ {include file="ui/f6/section-start.html"}
+
+ {* Active *}
+ {$ui = [
+ 'value' => $data.fieldData.active.value,
+ 'field' => 'active',
+ 'label' => 'Active',
+ 'required' => $data.fieldRequired.active,
+ 'errorText' => 'Active is Required',
+ 'dataError' => $data.fieldFail.active
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Has Contacts *}
+ {$ui = [
+ 'value' => $data.fieldData.has_contacts.value,
+ 'field' => 'has_contacts',
+ 'label' => 'Has Contacts',
+ 'required' => $data.fieldRequired.has_contacts,
+ 'errorText' => 'Has Contacts is Required',
+ 'dataError' => $data.fieldFail.has_contacts
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Has Members *}
+ {$ui = [
+ 'value' => $data.fieldData.has_members.value,
+ 'field' => 'has_members',
+ 'label' => 'Has Members',
+ 'required' => $data.fieldRequired.has_members,
+ 'errorText' => 'Has Members is Required',
+ 'dataError' => $data.fieldFail.has_members
+ ]}
+ {include file='ui/f6/checkbox.html'}
+
+ {* Name *}
+ {$ui = [
+ 'value' => $data.fieldData.name,
+ 'field' => 'name',
+ 'label' => 'Name',
+ 'required' => $data.fieldRequired.name,
+ 'errorText' => 'Name is Required',
+ 'dataError' => $data.fieldFail.name
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Map Key *}
+ {$ui = [
+ 'value' => $data.fieldData.map_key,
+ 'field' => 'map_key',
+ 'label' => 'Map Key',
+ 'required' => $data.fieldRequired.map_key,
+ 'errorText' => 'Map Key is Required',
+ 'dataError' => $data.fieldFail.map_key
+ ]}
+ {include file='ui/f6/text.html'}
+
+
+ {include file="ui/f6/section-end.html"}
+
+ {* Section Start *}
+ {$ui = [
+ 'title' => '',
+ 'wrapSize' => '6',
+ 'callout' => true
+ ]}
+ {include file="ui/f6/section-start.html"}
+
+ {* Prod Server *}
+ {$ui = [
+ 'value' => $data.fieldData.prod_server.value,
+ 'field' => 'prod_server',
+ 'label' => 'Prod Server',
+ 'list' => $data.fieldData.prod_server.list,
+ 'l_label' => 'name',
+ 'l_value' => 'value',
+ 'l_blank' => false,
+ 'required' => $data.fieldRequired.prod_server,
+ 'errorText' => 'Prod Server is Required',
+ 'dataError' => $data.fieldFail.prod_server
+ ]}
+ {include file='ui/f6/select.html'}
+
+ {* Prod Url *}
+ {$ui = [
+ 'value' => $data.fieldData.prod_url,
+ 'field' => 'prod_url',
+ 'label' => 'Prod Url',
+ 'required' => $data.fieldRequired.prod_url,
+ 'errorText' => 'Prod Url is Required',
+ 'dataError' => $data.fieldFail.prod_url
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {* Dev Server *}
+ {$ui = [
+ 'value' => $data.fieldData.dev_server.value,
+ 'field' => 'dev_server',
+ 'label' => 'Dev Server',
+ 'list' => $data.fieldData.dev_server.list,
+ 'l_label' => 'name',
+ 'l_value' => 'value',
+ 'l_blank' => false,
+ 'required' => $data.fieldRequired.dev_server,
+ 'errorText' => 'Dev Server is Required',
+ 'dataError' => $data.fieldFail.dev_server
+ ]}
+ {include file='ui/f6/select.html'}
+
+ {* Dev Url *}
+ {$ui = [
+ 'value' => $data.fieldData.dev_url,
+ 'field' => 'dev_url',
+ 'label' => 'Dev Url',
+ 'required' => $data.fieldRequired.dev_url,
+ 'errorText' => 'Dev Url is Required',
+ 'dataError' => $data.fieldFail.dev_url
+ ]}
+ {include file='ui/f6/text.html'}
+
+ {include file="ui/f6/section-end.html"}
+
+ </div>
{* Save *}
{$ui = [
{* Form End *}
{include file='ui/f6/form-end.html'}
-<style>
- .row-green {
- background-color: rgb( 225, 250, 234 );
- }
- .row-red {
- background-color: rgb( 247, 228, 225 );
- }
-</style>
-
-{if !empty($plugins)}
- <table class="stack hover hide">
- <tr>
- <th class="text-left">Plugin Name</th>
- <th class="text-left">Prod Version</th>
- <th class="text-left">Dev Version</th>
- </tr>
- {foreach $plugins as $plugin}
- <tr>
- <td>{$plugin.name}</td>
- <td width="110" class="{if !empty($plugin.prod_version) && version_compare( $plugin.latest_version, $plugin.prod_version, '>' )}row-red{elseif !empty($plugin.prod_version)}row-green{/if}">{$plugin.prod_version}</td>
- <td width="110" class="{if !empty($plugin.dev_version) && version_compare( $plugin.latest_version, $plugin.dev_version, '>' )}row-red{elseif !empty($plugin.dev_version)}row-green{/if}">{$plugin.dev_version}</td>
- </tr>
- {/foreach}
- </table>
-
- <div id="pluginList"></div>
-{/if}
-
+<div id="pluginList"></div>
{* Grid End *}
{include file='ui/f6/grid-end.html'}
<script>
jQuery(document).ready(function($){
$(document).foundation();
- var tabledata = [
- {foreach $plugins as $plugin}
- { id:"{$plugin.id}", name:"{$plugin.name|escape:'quotes'}",
+ var tabledata = [
+ {foreach $plugins as $plugin}
+ {
+ id:"{$plugin.site_plugin_id}",
+ pluginId:"{$plugin.id}",
+ name:"{$plugin.name|escape:'quotes'}",
prodVersion: "{$plugin.prod_version}",
prodUpToDate: {if !empty($plugin.prod_version) && version_compare( $plugin.latest_version, $plugin.prod_version, '>' )}false{elseif !empty($plugin.prod_version)}true{else}null{/if},
devVersion: "{$plugin.dev_version}",
devUpToDate: {if !empty($plugin.dev_version) && version_compare( $plugin.latest_version, $plugin.dev_version, '>' )}false{elseif !empty($plugin.dev_version)}true{else}null{/if}
- },
- {/foreach}
- ];
-
- {literal}
- var table = new Tabulator("#pluginList",{
- height: "350px",
- data: tabledata,
- layout: "fitColumns",
- tooltips: true,
- addRowPos: "top",
- initialSort: [ {column: "name", dir: "asc"} ],
- columns:[
- {title:"Site Name", field:"name", width:"250"},
- {title:"Prod Version", field:"prodVersion", align:"left"},
- {title:"Status", field:"prodUpToDate", formatter:"tickCross"},
- {title:"Dev Version", field:"devVersion", align:"left"},
- {title:"Status", field:"devUpToDate", formatter:"tickCross"},
- ],
- rowClick:function(e, row){
- console.log('Row ' + row.getData().id + ' Clicked!!!');
- window.location.href="{/literal}{$baseUrl}&option=pluginSite{if !empty($smarty.request.order)}&order={$smarty.request.order}{/if}&site_id={literal}" + row.getData().id;
- }
+ },
+ {/foreach}
+ ];
+
+ {literal}
+ function updateVersion( cell ) {
+ if ( cell == undefined ) {
+ console.log('ERROR');
+ return false;
+ }
+ // Get data from row.
+ var data = cell.getRow().getData();
+ // Call ajax page to update the sitePlugin record.
+ $.ajax({
+ cache: false,
+ url: '{/literal}{$ajaxUrl}{literal}?action=glm_members_admin_ajax&glm_action=sitePluginUpdate',
+ data: data,
+ dataType: 'json',
+ }).done(function( rsp ){
+ console.log( 'return: ', rsp );
+ table.updateData([{id: rsp.id, prodUpToDate: rsp.prodStatus, devUpToDate: rsp.devStatus}]);
});
- {/literal}
+ }
+ var table = new Tabulator("#pluginList",{
+ height: "350px",
+ data: tabledata,
+ layout: "fitColumns",
+ tooltips: true,
+ addRowPos: "top",
+ initialSort: [ {column: "name", dir: "asc"} ],
+ columns:[
+ {title:"Site Name", field:"name", width:"250"},
+ {title:"Prod Version", field:"prodVersion", align:"left", editor:true, cellEdited: updateVersion },
+ {title:"Status", field:"prodUpToDate", formatter:"tickCross"},
+ {title:"Dev Version", field:"devVersion", align:"left", editor:true, cellEdited: updateVersion },
+ {title:"Status", field:"devUpToDate", formatter:"tickCross"},
+ ],
+ rowClick:function(e, row){
+ console.log('Row ' + row.getData().id + ' Clicked!!!');
+ //window.location.href="{/literal}{$baseUrl}&option=pluginSite{if !empty($smarty.request.order)}&order={$smarty.request.order}{/if}&site_id={literal}" + row.getData().id;
+ }
+ });
+ {/literal}
});
</script>