App-Dochazka-WWW

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

0.121  2014-10-13 16:47 CEST
- js/: CSS tweaks

0.122  2014-10-14 09:36 CEST
- js/: enable new dnotice feature and use it to implement privhistory listing

0.123  2014-10-14 11:21 CEST
- js/: refine privHistory dnotice

0.124  2014-10-16 15:42 CEST
- js/emp-lib.js: fix "Edit employee profile" functionality (was using PUT
  on 'employee/eid' resource, which is no longer supported by the server)

0.125  2015-07-22 09:59 CEST
- update copyright statement to 2015
- migrate repo to Github
- new release script
- drop t/boilerplate.t

0.126 2016-09-04 20:40 CEST
- packaging tweaks

Changes  view on Meta::CPAN

- Implement "LDAP lookup" feature
- Provide masquerade option if LDAP lookup succeeds

0.138 2016-09-27 16:59 CEST
- Move privHistory target to Employee menu
- ldapLookup: always display AJAX error
- Improve AJAX error reporting
- Dispatch.pm: revamp/simplify session management
- Rip out entry definitions for deprecated newEmployee target
- Plumb in an empObject prototype distinct from empProfile
- js: make ldapLookupSubmit GET instead of PUT
- dispatch: tweak debug log messages
- js: lower ACL profile of ldapLookupSubmit and privHistory targets
- Revamp LDAP lookup feature (GET first)
- js: handle empty nick in ldapLookupSubmit
- Add "Sync" option to LDAP lookup result miniMenu
- js: simplify LDAP lookup failure handling
- Reinstate "Priv (status) menu" with privHistory target
- Display workforce ID instead of EID in simpleEmployeeBrowser
- Change "Status"/"Since" to "Privlevel"/"Effective"
- dmenu: add Schedule menu

share/js/dochazka-www/emp-lib.js  view on Meta::CPAN

            console.log("Entering empSetSupervisor() with superEmp", superEmp);
            console.log("Will set superEmp as the supervisor of " + cu.nick);
            console.log("Pushing empProfileSetSuperConfirm onto stack with obj", obj);
            stack.push('empProfileSetSuperConfirm', obj);
        },

        empProfileSetSuperCommit = function (obj) {
            var cu = currentUser('obj'),
                empProfile,
                rest = {
                    "method": 'PUT',
                    "path": 'employee/eid/' + obj.ePsetsuperofEID,
                    "body": {
                        "supervisor": obj.ePsetsupertoEID,
                    }
                },
                sc = function (st) {
                    if (st.code === 'DOCHAZKA_CUD_OK' || st.code === 'DISPATCH_UPDATE_NO_CHANGE_OK' ) {
                        cu.supervisor = obj.ePsetsupertoEID;
                        empProfile = appCaches.getProfileByEID(obj.ePsetsuperofEID);
                        if (empProfile) {

share/js/dochazka-www/int-lib.js  view on Meta::CPAN

                return null;
            }
            if (! createIntervalCheckMandatoryProps(obj)) {
                return null;
            }
            obj["intvl"] = genIntvl(obj.iNdate, obj.iNtimerange);
            if (! obj.intvl) {
                return null;
            }
            rest = {
                "method": 'PUT',
                "path": 'interval/iid/' + obj.iid,
                "body": {
                    "eid": cu.eid,
                    "aid": obj.acTaid,
                    "intvl": obj.intvl,
                    "long_desc": obj.long_desc,
                },
            }
            ajax(rest, sc);
        },

share/js/dochazka-www/ldap-lib.js  view on Meta::CPAN

            //     stack.getState();
            // }
            console.log("Entered ldapSync with object", ldapEmp);
            if (! ldapEmp.nick) {
                return;
            }
            var bo,
                nick = ldapEmp.nick,
                stackTarget,
                rest = {
                    method: 'PUT',
                    path: 'employee/nick/' + nick + '/ldap'
                },
                // success callback -- employee already exists
                sc = function (st) {
                    console.log("PUT ldap success, st object is", st);
                    if (st.code === 'DOCHAZKA_CUD_OK') {
                        console.log("Payload is", st.payload);
                        ldapEmployeeObject = $.extend(ldapEmployeeObject, st.payload);
                        ldapEmployeeObject.dochazka = true;
                    }
                    stackTarget = stack.getTarget().name;
                    console.log("Detected target ' + stackTarget + ' on top of stack");
                    if (stackTarget === 'ldapDisplayEmployee') {
                        ldapEmployeeLink();
                    } else if (stackTarget === 'simpleEmployeeBrowser') {

share/js/dochazka-www/sched-lib.js  view on Meta::CPAN

                            }
                        }
                        stack.unwindToFlag();
                    }
                    coreLib.displayResult(dispMsg);
                },
                fc = function (st) {
                    coreLib.displayError(st.payload.message);
                };
            if (mode === 'edit') {
                rest.method = 'PUT';
            } else if (mode === 'delete') {
                rest.method = 'DELETE';
            }
            ajax(rest, sc, fc);
        };

    // here is where we define methods implementing the various
    // schedule-related actions (see daction-start.js)
    return {
        actionDisplaySchedule: actionDisplaySchedule,



( run in 0.474 second using v1.01-cache-2.11-cpan-4e96b696675 )