LENGTH({$this->tableName()}.oath_key) AS length_oath_key
");
}
+ if (isset($q['_with_group_membership'])) {
+ $this->selectAddGroupMemberships();
+ }
-
+ }
+
+ function selectAddGroupMemberships()
+ {
+ $this->selectAdd("
+ CONCAT ('[',
+ COALESCE((
+ SELECT
+ GROUP_CONCAT(
+ JSON_QUOTE(core_group.name)
+ )
+ FROM
+ core_group_member
+ LEFT JOIN
+ core_group
+ ON
+ core_group.id = core_group_member.group_id
+ WHERE
+ core_group_member.user_id = core_person.id
+ ), ''),
+ ']') as member_of_json");
}
function setFromRoo($ar, $roo)
// width : 150
}, cfg);
},
+
+ c_group_membership : function(cfg) {
+ cfg = cfg || {};
+ return Roo.apply({
+ // id : (this.id + '-name').toLowerCase(),
+ header : "Group Membership",
+ dataIndex : 'member_of_json',
+ sortable : false,
+ renderer : function(vv,p,r) {
+ var v = vv ? JSON.parse(vv).join("\n") : '';
+ if(r.data.active != 1){
+ return String.format('<div style="text-decoration:line-through">{0}</div>', v).split("\n").join("<br/>");
+ }
+ return String.format('{0}', v).split("\n").join("<br/>");
+ },
+ width : 150
+ }, cfg);
+ },
+
c_company_id_comptype : function(cfg) {
cfg = cfg || {};
return Roo.apply({