Example #1
0
        protected virtual XVar processTagsToClose(dynamic _param_tags, dynamic _param_tagName, dynamic _param_closingTag)
        {
            #region pass-by-value parameters
            dynamic tags       = XVar.Clone(_param_tags);
            dynamic tagName    = XVar.Clone(_param_tagName);
            dynamic closingTag = XVar.Clone(_param_closingTag);
            #endregion

            dynamic data = XVar.Array(), keys = null;
            data = XVar.Clone(new XVar("removeTag", false, "tags", tags));
            if (XVar.Pack(isTagSingleTon((XVar)(tagName))))
            {
                return(data);
            }
            if (XVar.Pack(!(XVar)(closingTag)))
            {
                data.InitAndSetArrayItem(tagName, "tags", null);
                return(data);
            }
            keys = XVar.Clone(MVCFunctions.array_keys((XVar)(tags), (XVar)(tagName)));
            if (XVar.Pack(!(XVar)(MVCFunctions.count(keys))))
            {
                data.InitAndSetArrayItem(true, "removeTag");
            }
            else
            {
                data.InitAndSetArrayItem(MVCFunctions.array_slice((XVar)(tags), new XVar(0), new XVar(-1)), "tags");
            }
            return(data);
        }
Example #2
0
 protected virtual XVar prepareClientCellMap(dynamic allCells, dynamic visibleCells)
 {
     foreach (KeyValuePair <XVar, dynamic> cellId in MVCFunctions.array_keys((XVar)(visibleCells.cells)).GetEnumerator())
     {
         allCells.InitAndSetArrayItem(visibleCells.cells[cellId.Value]["cols"], "cells", cellId.Value, "visibleCols");
     }
     return(allCells);
 }
Example #3
0
        protected virtual XVar getRowSaveStatusJSON(dynamic _param_keys)
        {
            #region pass-by-value parameters
            dynamic keys = XVar.Clone(_param_keys);
            #endregion

            dynamic data = XVar.Array(), dmapIconsData = null, fields = XVar.Array(), fieldsIconsData = null, i = null, keyParams = XVar.Array(), keylink = null, rawValues = XVar.Array(), returnJSON = XVar.Array(), values = XVar.Array();
            returnJSON = XVar.Clone(XVar.Array());
            if ((XVar)(this.action != "edited") || (XVar)(isSimpleMode()))
            {
                return(returnJSON);
            }
            returnJSON.InitAndSetArrayItem(MVCFunctions.array_keys((XVar)(this.newRecordData)), "fNamesSelected");
            returnJSON.InitAndSetArrayItem(getMessages(), "message");
            returnJSON.InitAndSetArrayItem(this.lockingMessageText, "lockMessage");
            if (XVar.Pack(!(XVar)(this.isCaptchaOk)))
            {
                returnJSON.InitAndSetArrayItem(getCaptchaFieldName(), "wrongCaptchaFieldName");
            }
            data = XVar.Clone(getRecordByKeys((XVar)(keys)));
            if (XVar.Pack(!(XVar)(data)))
            {
                data = XVar.Clone(this.newRecordData);
            }
            returnJSON.InitAndSetArrayItem(XVar.Array(), "detKeys");
            foreach (KeyValuePair <XVar, dynamic> dt in this.pSet.getDetailTablesArr().GetEnumerator())
            {
                dynamic dkeys = XVar.Array();
                dkeys = XVar.Clone(XVar.Array());
                foreach (KeyValuePair <XVar, dynamic> mk in dt.Value["masterKeys"].GetEnumerator())
                {
                    dkeys.InitAndSetArrayItem(data[mk.Value], MVCFunctions.Concat("masterkey", mk.Key + 1));
                }
                returnJSON.InitAndSetArrayItem(dkeys, "detKeys", dt.Value["dDataSourceTable"]);
            }
            keyParams = XVar.Clone(XVar.Array());
            foreach (KeyValuePair <XVar, dynamic> k in this.pSet.getTableKeys().GetEnumerator())
            {
                keyParams.InitAndSetArrayItem(MVCFunctions.Concat("key", k.Key + 1, "=", MVCFunctions.RawUrlDecode((XVar)(keys[k.Value]))), null);
            }
            keylink   = XVar.Clone(MVCFunctions.Concat("&", MVCFunctions.implode(new XVar("&"), (XVar)(keyParams))));
            values    = XVar.Clone(XVar.Array());
            rawValues = XVar.Clone(XVar.Array());
            fields    = XVar.Clone(this.pSet.getFieldsList());
            foreach (KeyValuePair <XVar, dynamic> f in fields.GetEnumerator())
            {
                dynamic value = null;
                value = XVar.Clone(showDBValue((XVar)(f.Value), (XVar)(data), (XVar)(keylink)));
                values.InitAndSetArrayItem(value, f.Value);
                if (XVar.Pack(CommonFunctions.IsBinaryType((XVar)(this.pSet.getFieldType((XVar)(f.Value))))))
                {
                    rawValues.InitAndSetArrayItem("", f.Value);
                }
                else
                {
                    rawValues.InitAndSetArrayItem(MVCFunctions.runner_substr((XVar)(data[f.Value]), new XVar(0), new XVar(100)), f.Value);
                }
            }
            returnJSON.InitAndSetArrayItem(this.jsKeys, "keys");
            returnJSON.InitAndSetArrayItem(getMarkerMasterKeys((XVar)(data)), "masterKeys");
            returnJSON.InitAndSetArrayItem(this.pSet.getTableKeys(), "keyFields");
            returnJSON.InitAndSetArrayItem(XVar.Array(), "oldKeys");
            i = new XVar(0);
            foreach (KeyValuePair <XVar, dynamic> value in this.oldKeys.GetEnumerator())
            {
                returnJSON.InitAndSetArrayItem(value.Value, "oldKeys", i++);
            }
            returnJSON.InitAndSetArrayItem(values, "vals");
            returnJSON.InitAndSetArrayItem(fields, "fields");
            returnJSON.InitAndSetArrayItem(rawValues, "rawVals");
            returnJSON.InitAndSetArrayItem(buildDetailGridLinks((XVar)(returnJSON["detKeys"])), "hrefs");
            if (XVar.Pack(!(XVar)(isRecordEditable(new XVar(false)))))
            {
                returnJSON.InitAndSetArrayItem(true, "nonEditable");
            }
            dmapIconsData = XVar.Clone(getDashMapsIconsData((XVar)(data)));
            if (XVar.Pack(MVCFunctions.count(dmapIconsData)))
            {
                returnJSON.InitAndSetArrayItem(dmapIconsData, "mapIconsData");
            }
            fieldsIconsData = XVar.Clone(getFieldMapIconsData((XVar)(data)));
            if (XVar.Pack(MVCFunctions.count(fieldsIconsData)))
            {
                returnJSON.InitAndSetArrayItem(fieldsIconsData, "fieldsMapIconsData");
            }
            return(returnJSON);
        }
Example #4
0
        public virtual XVar prepareContainers()
        {
            dynamic classPrefix = null, containerCss = null, containersNames = XVar.Array(), displayed_containers = XVar.Array(), hidden_containers = XVar.Array(), pageStyle = null;

            if (XVar.Pack(!(XVar)(this.layout)))
            {
                return(null);
            }
            containerCss = XVar.Clone(XVar.Array());
            pageStyle    = XVar.Clone(getPageStyle());
            classPrefix  = new XVar("rnr-");
            if (this.layout.version == 1)
            {
                classPrefix = new XVar("runner-");
            }
            assign(new XVar("stylename"), (XVar)(MVCFunctions.Concat(pageStyle, " page-", this.layout.name)));
            assign(new XVar("pageStyleName"), (XVar)(pageStyle));
            displayed_containers = XVar.Clone(XVar.Array());
            hidden_containers    = XVar.Clone(XVar.Array());
            containersNames      = XVar.Clone(MVCFunctions.array_keys((XVar)(this.layout.containers)));
            containersNames      = XVar.Clone(MVCFunctions.array_reverse((XVar)(containersNames)));
            foreach (KeyValuePair <XVar, dynamic> cname in containersNames.GetEnumerator())
            {
                dynamic container = XVar.Array(), firstContainerSubstyle = null, hideContainer = null, lastContainerSubstyle = null, showContainer = null;
                container = XVar.Clone(this.layout.containers[cname.Value]);
                if ((XVar)(this.xt_vars.KeyExists(MVCFunctions.Concat("container_", cname.Value))) && (XVar)(XVar.Equals(XVar.Pack(this.xt_vars[MVCFunctions.Concat("container_", cname.Value)]), XVar.Pack(false))))
                {
                    continue;
                }
                firstContainerSubstyle = new XVar("");
                lastContainerSubstyle  = new XVar("");
                showContainer          = new XVar(false);
                hideContainer          = new XVar(true);
                foreach (KeyValuePair <XVar, dynamic> brick in container.GetEnumerator())
                {
                    dynamic hideBrick = null;
                    if (XVar.Pack(!(XVar)(MVCFunctions.strlen((XVar)(brick.Value["block"])))))
                    {
                        showContainer = new XVar(true);
                    }
                    else
                    {
                        if (XVar.Pack(!(XVar)(this.xt_vars.KeyExists(brick.Value["block"]))))
                        {
                            continue;
                        }
                        else
                        {
                            if (XVar.Pack(!(XVar)(this.xt_vars[brick.Value["block"]])))
                            {
                                continue;
                            }
                        }
                    }
                    if (XVar.Pack(!(XVar)(firstContainerSubstyle)))
                    {
                        firstContainerSubstyle = XVar.Clone(MVCFunctions.Concat("runner-toprow style", brick.Value["substyle"]));
                        if (brick.Value["name"] == "vmenu")
                        {
                            firstContainerSubstyle = new XVar("runner-toprow runner-vmenu");
                        }
                    }
                    lastContainerSubstyle = XVar.Clone(MVCFunctions.Concat("runner-bottomrow style", brick.Value["substyle"]));
                    if (brick.Value["name"] == "vmenu")
                    {
                        lastContainerSubstyle = new XVar("runner-bottomrow runner-vmenu");
                    }
                    showContainer = new XVar(true);
                    if ((XVar)(this.hiddenBricks[brick.Value["name"]]) || (XVar)((XVar)(brick.Value["name"] == "wrapper") && (XVar)((XVar)(hidden_containers.KeyExists(brick.Value["container"])) || (XVar)(!(XVar)(displayed_containers.KeyExists(brick.Value["container"]))))))
                    {
                        hideBrick = new XVar(true);
                    }
                    else
                    {
                        hideBrick     = new XVar(false);
                        hideContainer = new XVar(false);
                    }
                    if (this.layout.version != Constants.BOOTSTRAP_LAYOUT)
                    {
                        if (XVar.Pack(hideBrick))
                        {
                            assign((XVar)(MVCFunctions.Concat("brickclass_", brick.Value["name"])), (XVar)(MVCFunctions.Concat(classPrefix, "hiddenbrick")));
                        }
                        else
                        {
                            unassign((XVar)(MVCFunctions.Concat("brickclass_", brick.Value["name"])));
                        }
                    }
                    else
                    {
                        if (XVar.Pack(hideBrick))
                        {
                            assign((XVar)(MVCFunctions.Concat(brick.Value["name"], "_hiddenattr")), new XVar("data-hidden"));
                        }
                    }
                }
                if (XVar.Pack(showContainer))
                {
                    if (XVar.Pack(hideContainer))
                    {
                        hidden_containers.InitAndSetArrayItem(true, cname.Value);
                    }
                    setContainerDisplayed((XVar)(cname.Value), (XVar)(!(XVar)(hideContainer)), (XVar)(firstContainerSubstyle), (XVar)(lastContainerSubstyle));
                    displayed_containers.InitAndSetArrayItem(true, cname.Value);
                    unassign((XVar)(MVCFunctions.Concat("wrapperclass_", cname.Value)));
                }
                else
                {
                    unassign((XVar)(MVCFunctions.Concat("container_", cname.Value)));
                    assign((XVar)(MVCFunctions.Concat("wrapperclass_", cname.Value)), (XVar)(MVCFunctions.Concat(classPrefix, "hiddencontainer")));
                }
            }
            foreach (KeyValuePair <XVar, dynamic> block in this.layout.blocks.GetEnumerator())
            {
                dynamic hideBlock = null, showBlock = null;
                showBlock = new XVar(false);
                hideBlock = new XVar(true);
                foreach (KeyValuePair <XVar, dynamic> cname in block.Value.GetEnumerator())
                {
                    if (XVar.Pack(displayed_containers[cname.Value]))
                    {
                        showBlock = new XVar(true);
                        if (XVar.Pack(!(XVar)(hidden_containers[cname.Value])))
                        {
                            hideBlock = new XVar(false);
                            break;
                        }
                    }
                }
                if (this.layout.version != Constants.BOOTSTRAP_LAYOUT)
                {
                    if ((XVar)(!(XVar)(showBlock)) || (XVar)(hideBlock))
                    {
                        assign((XVar)(MVCFunctions.Concat("blockclass_", block.Key)), (XVar)(MVCFunctions.Concat(classPrefix, "hiddenblock")));
                    }
                }
                else
                {
                    if ((XVar)(!(XVar)(showBlock)) || (XVar)(hideBlock))
                    {
                        assign((XVar)(MVCFunctions.Concat("blockattr_", block.Key)), new XVar("data-hidden"));
                    }
                }
            }
            if (this.layout.version == Constants.BOOTSTRAP_LAYOUT)
            {
                assign(new XVar("pageid"), (XVar)(this.pageId));
            }
            return(null);
        }
Example #5
0
        public virtual XVar isSetParentElem()
        {
            dynamic pageTypes = null, pageTypesInLowCase = null;

            if (XVar.Pack(!(XVar)(this.menuTableMap.KeyExists(this.table))))
            {
                return(false);
            }
            pageTypes          = XVar.Clone(new XVar(0, "list", 1, "chart", 2, "report", 3, "search", 4, "add", 5, "print"));
            pageTypesInLowCase = XVar.Clone(MVCFunctions.array_keys((XVar)(this.menuTableMap[this.table])));
            switch (((XVar)MVCFunctions.strtolower((XVar)(this.pageType))).ToString())
            {
            case "list":
                return(false);

                break;

            case "chart":
                if (XVar.Pack(MVCFunctions.count(MVCFunctions.array_intersect((XVar)(MVCFunctions.array_slice((XVar)(pageTypes), new XVar(0), new XVar(1))), (XVar)(pageTypesInLowCase)))))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
                break;

            case "report":
                if (XVar.Pack(MVCFunctions.count(MVCFunctions.array_intersect((XVar)(MVCFunctions.array_slice((XVar)(pageTypes), new XVar(0), new XVar(2))), (XVar)(pageTypesInLowCase)))))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
                break;

            case "search":
                if (XVar.Pack(MVCFunctions.count(MVCFunctions.array_intersect((XVar)(MVCFunctions.array_slice((XVar)(pageTypes), new XVar(0), new XVar(3))), (XVar)(pageTypesInLowCase)))))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
                break;

            case "add":
                if (XVar.Pack(MVCFunctions.count(MVCFunctions.array_intersect((XVar)(MVCFunctions.array_slice((XVar)(pageTypes), new XVar(0), new XVar(4))), (XVar)(pageTypesInLowCase)))))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
                break;

            case "print":
                if (XVar.Pack(MVCFunctions.count(MVCFunctions.array_intersect((XVar)(MVCFunctions.array_slice((XVar)(pageTypes), new XVar(0), new XVar(5))), (XVar)(pageTypesInLowCase)))))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
                break;

            default:
                break;
            }
            return(null);
        }
Example #6
0
        public virtual XVar prepareForms(dynamic _param_xt_packed, dynamic _param_itemsToHide, dynamic _param_recordItemsToHide, dynamic _param_pageObject)
        {
            #region packeted values
            XTempl _param_xt = XVar.UnPackXTempl(_param_xt_packed);
            #endregion

            #region pass-by-value parameters
            XTempl  xt                = XVar.Clone(_param_xt);
            dynamic itemsToHide       = XVar.Clone(_param_itemsToHide);
            dynamic recordItemsToHide = XVar.Clone(_param_recordItemsToHide);
            dynamic pageObject        = XVar.Clone(_param_pageObject);
            #endregion

            dynamic cellMaps = XVar.Array(), formItems = XVar.Array(), formTags = XVar.Array(), helper = XVar.Array(), invisibleItems = XVar.Array(), present = null, ps = null, visibleCellsMap = XVar.Array();
            if (XVar.Pack(pageObject))
            {
                ps = XVar.Clone(pageObject.pSet);
            }
            else
            {
                ps = XVar.Clone(new ProjectSettings((XVar)(CommonFunctions.GetTableByShort((XVar)(this.table))), (XVar)(this.page["type"]), (XVar)(this.page["id"])));
            }
            helper               = ps.helperFormItems();
            invisibleItems       = XVar.Clone(itemsToHide);
            GlobalVars.mediaType = XVar.Clone((XVar.Pack(pageObject.pdfJsonMode()) ? XVar.Pack(Constants.MEDIA_DESKTOP) : XVar.Pack(CommonFunctions.getMediaType())));
            foreach (KeyValuePair <XVar, dynamic> visibility in helper["itemVisiblity"].GetEnumerator())
            {
                if (XVar.Pack(!(XVar)(visibleOnMedia((XVar)(GlobalVars.mediaType), (XVar)(visibility.Value)))))
                {
                    invisibleItems.InitAndSetArrayItem(true, visibility.Key);
                }
            }
            visibleCellsMap = XVar.Clone(XVar.Array());
            cellMaps        = ps.helperCellMaps();
            foreach (KeyValuePair <XVar, dynamic> loc in MVCFunctions.array_keys((XVar)(cellMaps)).GetEnumerator())
            {
                dynamic formRecordItemsToHide = XVar.Array(), hMap = null;
                formRecordItemsToHide = XVar.Clone(XVar.Array());
                foreach (KeyValuePair <XVar, dynamic> itemRecords in recordItemsToHide.GetEnumerator())
                {
                    if (helper["itemForms"][itemRecords.Key] == loc.Value)
                    {
                        formRecordItemsToHide.InitAndSetArrayItem(MVCFunctions.array_keys((XVar)(itemRecords.Value)), itemRecords.Key);
                    }
                }
                hMap = prepareGrid((XVar)(xt), (XVar)(invisibleItems), (XVar)(formRecordItemsToHide), (XVar)(new CellMapPD((XVar)(cellMaps[loc.Value]))), (XVar)(loc.Value), (XVar)(pageObject));
                if (XVar.Pack(pageObject))
                {
                    visibleCellsMap.InitAndSetArrayItem(prepareClientCellMap((XVar)(cellMaps[loc.Value]), (XVar)(hMap)), loc.Value);
                }
            }
            if (XVar.Pack(pageObject))
            {
                pageObject.setPageData(new XVar("cellMaps"), (XVar)(visibleCellsMap));
            }
            if (XVar.Pack(!(XVar)(pageObject.pdfJsonMode())))
            {
                foreach (KeyValuePair <XVar, dynamic> item in MVCFunctions.array_keys((XVar)(invisibleItems)).GetEnumerator())
                {
                    if (XVar.Pack(itemsToHide[item.Value]))
                    {
                        xt.assign((XVar)(MVCFunctions.Concat("item_", item.Value)), new XVar("data-hidden"));
                    }
                    else
                    {
                        xt.assign((XVar)(MVCFunctions.Concat("item_", item.Value)), new XVar("data-media-hidden"));
                    }
                }
            }
            else
            {
                foreach (KeyValuePair <XVar, dynamic> item in MVCFunctions.array_keys((XVar)(invisibleItems)).GetEnumerator())
                {
                    xt.assign((XVar)(MVCFunctions.Concat("item_hide_", item.Value)), new XVar("1"));
                }
            }
            if (XVar.Pack(pageObject))
            {
                foreach (KeyValuePair <XVar, dynamic> itemRecords in recordItemsToHide.GetEnumerator())
                {
                    foreach (KeyValuePair <XVar, dynamic> recordId in MVCFunctions.array_keys((XVar)(itemRecords.Value)).GetEnumerator())
                    {
                        pageObject.hideRecordItem((XVar)(itemRecords.Key), (XVar)(recordId.Value));
                    }
                }
            }
            xt.assign(new XVar("firstAboveGridCell"), new XVar(true));
            formTags = helper["formXtTags"];
            foreach (KeyValuePair <XVar, dynamic> loc in MVCFunctions.array_keys((XVar)(formTags)).GetEnumerator())
            {
                present = new XVar(false);
                foreach (KeyValuePair <XVar, dynamic> tag in formTags[loc.Value].GetEnumerator())
                {
                    if (XVar.Pack(xt.getVar((XVar)(tag.Value))))
                    {
                        present = new XVar(true);
                        break;
                    }
                }
                if (XVar.Pack(!(XVar)(present)))
                {
                    xt.assign((XVar)(MVCFunctions.Concat(loc.Value, "_block")), new XVar(false));
                }
            }
            formItems = helper["formItems"];
            foreach (KeyValuePair <XVar, dynamic> loc in MVCFunctions.array_keys((XVar)(formItems)).GetEnumerator())
            {
                present = new XVar(false);
                foreach (KeyValuePair <XVar, dynamic> item in formItems[loc.Value].GetEnumerator())
                {
                    if (XVar.Pack(!(XVar)(invisibleItems.KeyExists(item.Value))))
                    {
                        present = new XVar(true);
                        break;
                    }
                }
                if (XVar.Pack(!(XVar)(present)))
                {
                    xt.assign((XVar)(MVCFunctions.Concat("form_", loc.Value)), new XVar("data-hidden"));
                }
            }
            return(null);
        }
Example #7
0
        public static XVar getUserGroups()
        {
            dynamic data = XVar.Array(), grConnection = null, groupIds = XVar.Array(), groupNames = XVar.Array(), qResult = null, sql = null;

            if ((XVar)(GlobalVars.globalSettings["nLoginMethod"] == Constants.SECURITY_NONE) || (XVar)(GlobalVars.globalSettings["nLoginMethod"] == Constants.SECURITY_HARDCODED))
            {
                return(XVar.Array());
            }
            if ((XVar)(!(XVar)(GlobalVars.globalSettings["isDynamicPerm"])) || (XVar)(GlobalVars.globalSettings["nLoginMethod"] == Constants.SECURITY_AD))
            {
                return(getUserGroupIds());
            }
            groupIds     = XVar.Clone(getUserGroupIds());
            groupNames   = XVar.Clone(XVar.Array());
            grConnection = XVar.Clone(GlobalVars.cman.getForUserGroups());
            sql          = XVar.Clone(MVCFunctions.Concat("select ", grConnection.addFieldWrappers(new XVar("Label")), " from ", grConnection.addTableWrappers(new XVar("dbo.acceso_uggroups")), " WHERE ", grConnection.addFieldWrappers(new XVar("GroupID")), " in ( ", MVCFunctions.implode(new XVar(","), (XVar)(MVCFunctions.array_keys((XVar)(groupIds)))), ")"));
            qResult      = XVar.Clone(grConnection.query((XVar)(sql)));
            while (XVar.Pack(data = XVar.Clone(qResult.fetchNumeric())))
            {
                groupNames.InitAndSetArrayItem(true, data[0]);
            }
            if (XVar.Pack(groupIds[-1]))
            {
                groupNames.InitAndSetArrayItem(true, "<Admin>");
            }
            return(groupNames);
        }