modules/admin/models/data.js
function(model, req) {    
    if(!model) return {}
    
    var fields = {}
        ,queryFieldSet   
        
    if(req) {
        if(req.fieldSet) {
            queryFieldSet = {}
            try {
                queryFieldSet = JSON.parse(req.fieldSet)
            } catch(e) {queryFieldSet = null}       
        } else if(req.urlparams && req.urlparams[1]) {
            queryFieldSet = {}
            var x = req.urlparams[1].split(',')
            for(var i=0;i<x.length;i++) queryFieldSet[x[i]] = 1    
        }
    }

    for(var i in model.fields) if(model.fields[i] && model.fields[i].visable) {
        if(!queryFieldSet || queryFieldSet[model.fields[i].name]) fields[model.fields[i].name] = 1
    }
    return fields;
}
function(model, req) {    
    if(!model) return {}
    
    var fields = {}
        ,queryFieldSet   
        
    if(req) {
        if(req.fieldSet) {
            queryFieldSet = {}
            try {
                queryFieldSet = JSON.parse(req.fieldSet)
            } catch(e) {queryFieldSet = null}       
        } else if(req.urlparams && req.urlparams[1]) {
            queryFieldSet = {}
            var x = req.urlparams[1].split(',')
            for(var i=0;i<x.length;i++) queryFieldSet[x[i]] = 1    
        }
    }

    for(var i in model.fields) if(model.fields[i] && model.fields[i].visable) {
        if(!queryFieldSet || queryFieldSet[model.fields[i].name]) fields[model.fields[i].name] = 1
    }
    return fields;
}
Private get readable fields fom model