예제 #1
0
/**
*  save group record
*  @param	f			array		group record
*  @return	objResponse	object		xajax response object
*/
function save($f)
{
    global $locate, $db, $config;
    $objResponse = new xajaxResponse();
    if (trim($f['groupname']) == '' || trim($f['resellerid']) == 0) {
        $objResponse->addAlert('*' . $locate->Translate("obligatory fields"));
        return $objResponse;
    }
    if ($config['synchronize']['id_autocrement_byset']) {
        $local_lastid = astercrm::getLocalLastId('accountgroup');
        $f['id'] = intval($local_lastid + 1);
    }
    $f['creditlimit'] = trim($f['creditlimit']);
    if ($f['creditlimit'] == '' or !is_numeric($f['creditlimit'])) {
        $f['creditlimit'] = 0;
    }
    $id = astercrm::checkValues("accountgroup", "groupname", $f['groupname']);
    if ($id != '') {
        $objResponse->addAlert($locate->Translate("Groupname Duplicate"));
        return $objResponse->getXML();
    }
    $respOk = Customer::insertNewAccountgroup($f);
    // add a new group
    if ($respOk) {
        $html = createGrid(0, ROWSXPAGE);
        $objResponse->addAssign("grid", "innerHTML", $html);
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("add_group"));
        $objResponse->addAssign("formDiv", "style.visibility", "hidden");
        $objResponse->addClear("formDiv", "innerHTML");
    } else {
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_insert"));
    }
    return $objResponse->getXML();
}
예제 #2
0
/**
*  update account record
*  @param	f			array		account record
*  @return	objResponse	object		xajax response object
*/
function update($f)
{
    global $locate, $db;
    $objResponse = new xajaxResponse();
    $f['extension'] = strtolower($f['extension']);
    $f['agent'] = strtolower($f['agent']);
    $f['channel'] = strtolower($f['channel']);
    if (trim($f['username']) == '' || trim($f['password']) == '' || trim($f['extension']) == '' || trim($f['usertype']) == '' || trim($f['firstname']) == '' || trim($f['lastname']) == '') {
        $objResponse->addAlert($locate->Translate("obligatory_fields"));
        return $objResponse->getXML();
    }
    if (trim($f['usertype']) != 'admin' && trim($f['groupid']) == '') {
        $objResponse->addAlert($locate->Translate("please add group first"));
        return $objResponse->getXML();
    }
    $username = $f['username'];
    $userid = astercrm::checkValues("astercrm_account", "username", $username);
    if ($userid != '' && $userid != $f['id']) {
        $objResponse->addAlert($locate->Translate("username_repeat"));
        return $objResponse->getXML();
    }
    if ($f['extensions'] == $locate->translate('extensions_input_tip')) {
        $f['extensions'] = '';
    }
    if ($f['extensions'] != "") {
        $f['extensions'] = astercrm::dbcToSbc($f['extensions']);
        $myExtensions = split(",", $f['extensions']);
        if ($f['extensType'] != "username") {
            foreach ($myExtensions as $exten) {
                $sqlStr .= "OR extension = '{$exten}'";
            }
            $sqlStr = ltrim($sqlStr, "OR");
            $query = "SELECT username From astercrm_account WHERE {$sqlStr}";
            astercrm::events($query);
            $res =& $db->query($query);
            $myExtensions = array();
            while ($res->fetchInto($row)) {
                $myExtensions[] = $row['username'];
                $newextensions .= "," . $row['username'];
            }
            $f['extensions'] = ltrim($newextensions, ',');
        }
        // check the assign username if belong to this group
        if ($_SESSION['curuser']['usertype'] != 'admin') {
            $myusernames = $myExtensions;
            $newextensions = "";
            $groupList = astercrm::getGroupMemberListByID($_SESSION['curuser']['groupid']);
            while ($groupList->fetchInto($groupRow)) {
                $memberNames[] = $groupRow['username'];
            }
            foreach ($myusernames as $myusername) {
                if (in_array($myusername, $memberNames)) {
                    $newextensions .= ",{$myusername}";
                }
            }
            $f['extensions'] = ltrim($newextensions, ',');
        }
    }
    if ($f['usertype'] == 'admin') {
        $f['groupid'] = 0;
    }
    // check over
    $respOk = Customer::updateAccountRecord($f);
    if ($respOk) {
        $html = createGrid(0, ROWSXPAGE);
        $objResponse->addAssign("grid", "innerHTML", $html);
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("update_rec"));
        $objResponse->addAssign("formDiv", "style.visibility", "hidden");
    } else {
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_update"));
    }
    return $objResponse->getXML();
}
예제 #3
0
/**
*  save account record
*  @param	f			array		account record
*  @return	objResponse	object		xajax response object
*/
function save($f)
{
    global $locate, $db, $config;
    $objResponse = new xajaxResponse();
    //check clid could only be numuric
    if (!is_numeric($f['clid'])) {
        $objResponse->addAlert("clid must be numeric");
        return $objResponse;
    }
    if (trim($f['pin']) == '') {
        $objResponse->addAlert("pin field cant be null");
        return $objResponse;
    }
    if ($f['groupid'] == 0 || $f['resellerid'] == 0) {
        $objResponse->addAlert($locate->Translate("Please choose reseller and group"));
        return $objResponse->getXML();
    }
    if ($config['synchronize']['id_autocrement_byset']) {
        $local_lastid = astercrm::getLocalLastId('clid');
        $f['id'] = intval($local_lastid + 1);
    }
    // check if clid duplicate
    $res = astercrm::checkValues("clid", "clid", $f['clid']);
    if ($res != '') {
        $objResponse->addAlert($locate->Translate("clid duplicate"));
        return $objResponse->getXML();
    }
    if ($f['display'] == '') {
        $f['display'] = $f['clid'];
    }
    // check if pin duplicate
    $res = astercrm::checkValues("clid", "pin", $f['pin']);
    if ($res != '') {
        $objResponse->addAlert($locate->Translate("pin duplicate"));
        return $objResponse->getXML();
    }
    $respOk = Customer::insertNewClid($f);
    // add a new account
    if ($respOk) {
        $html = createGrid(0, ROWSXPAGE);
        $objResponse->addAssign("grid", "innerHTML", $html);
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("add_clid"));
        $objResponse->addAssign("formDiv", "style.visibility", "hidden");
        $objResponse->addClear("formDiv", "innerHTML");
    } else {
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_insert"));
    }
    return $objResponse->getXML();
}
예제 #4
0
/**
*  save account record
*  @param	f			array		account record
*  @return	objResponse	object		xajax response object
*/
function save($f)
{
    global $locate, $db, $config;
    $objResponse = new xajaxResponse();
    if ($config['synchronize']['id_autocrement_byset']) {
        $local_lastid = astercrm::getLocalLastId('account');
        $f['id'] = intval($local_lastid + 1);
    }
    $f['username'] = trim($f['username']);
    $f['password'] = trim($f['password']);
    if ($f['username'] == '' || $f['password'] == '') {
        $objResponse->addAlert($locate->Translate("Please enter the username and password"));
        return $objResponse->getXML();
    }
    if ($f['usertype'] == '') {
        $objResponse->addAlert($locate->Translate("Please select usertype"));
        return $objResponse->getXML();
    }
    if ($f['resellerid'] == 0 && $f['usertype'] == 'reseller') {
        $objResponse->addAlert($locate->Translate("Please choose a reseller"));
        return $objResponse->getXML();
    }
    if (($f['groupid'] == 0 || $f['resellerid'] == 0) && ($f['usertype'] == 'groupadmin' || $f['usertype'] == 'operator')) {
        $objResponse->addAlert($locate->Translate("Please choose reseller and group"));
        return $objResponse->getXML();
    }
    $id = astercrm::checkValues("account", "username", $f['username']);
    if ($id != '') {
        $objResponse->addAlert($locate->Translate("Username Duplicate"));
        return $objResponse->getXML();
    }
    $respOk = Customer::insertNewAccount($f);
    // add a new account
    if ($respOk) {
        $html = createGrid(0, ROWSXPAGE);
        $objResponse->addAssign("grid", "innerHTML", $html);
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("add_account"));
        $objResponse->addAssign("formDiv", "style.visibility", "hidden");
        $objResponse->addClear("formDiv", "innerHTML");
    } else {
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_insert"));
    }
    return $objResponse->getXML();
}