groovity.portal.admin.config.index.grvt Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* © 2018 Disney | ABC Television Group
*
* Licensed under the Apache License, Version 2.0 (the "Apache License")
* with the following modification; you may not use this file except in
* compliance with the Apache License and the following modification to it:
* Section 6. Trademarks. is deleted and replaced with:
*
* 6. Trademarks. This License does not grant permission to use the trade
* names, trademarks, service marks, or product names of the Licensor
* and its affiliates, except as required to comply with Section 4(c) of
* the License and to reproduce the content of the NOTICE file.
*
* You may obtain a copy of the Apache License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the Apache License with the above modification is
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the Apache License for the specific
* language governing permissions and limitations under the Apache License.
*******************************************************************************/
static portal = [
path:'/admin/config/',
title:"Configuration",
roles:['auth','admin'],
tabs:true,
order:4
];
static args = [
configTree_selected : "/",
property:null,
propName:null,
propValue:null
];
load('/groovity/portal/lib/config')
@Field portalLib = load('/groovity/portal/lib/portal')
@Field sql = load('/groovity/sql').sql('portalDB')
load '/data/factory'
def user = request.userPrincipal
def properties = config.pathProperties[configTree_selected];
if(request.method=='POST'){
if(user.hasRole(request.session, configTree_selected, ['admin'])){
//log.info("Processing post ${propName} = ${propValue} in ${propPath}");
factory('config').putAll(
path:configTree_selected,
property:propName,
value:propValue,
createdBy:user.id
).store()
}
}
def queryString = request.queryString ?: '';
def activeConfiguration = config.getConfiguration(configTree_selected);
def configCellFormat = { row, col ->
def href = uri(base:"${request.requestURI}?${queryString}",{ param(name:"property",value:row.property?:''); param(name:"configValues_id",value:row.id?:''); });
<~ ${row[col]} ~>
}
def scopeFormat = { key, value ->
def href = uri(base:request.requestURI,{ param(name:"configTree_selected",value:pathStack.join('')+key) });
<~ ${key} ~>
}
delegatedAdmin = user.hasRole(request.session, configTree_selected, ['admin']);
<~
Effective Properties
${entry.key} = ${entry.value}
Set Property
~>