コード例 #1
0
ファイル: index.php プロジェクト: mrdeadmouse/u136006
    CUrlRewriter::Add(array('CONDITION' => '#^' . WIZARD_SITE_DIR . 'crm/configs/mailtemplate/#', 'RULE' => '', 'ID' => 'bitrix:crm.mail_template', 'PATH' => WIZARD_SITE_DIR . 'crm/configs/mailtemplate/index.php'));
    CUrlRewriter::Add(array('CONDITION' => '#^' . WIZARD_SITE_DIR . 'crm/configs/exch1c/#', 'RULE' => '', 'ID' => 'bitrix:crm.config.exch1c', 'PATH' => WIZARD_SITE_DIR . 'crm/configs/exch1c/index.php'));
    CUrlRewriter::Add(array('CONDITION' => '#^' . WIZARD_SITE_DIR . 'crm/quote/#', 'RULE' => '', 'ID' => 'bitrix:crm.quote', 'PATH' => WIZARD_SITE_DIR . 'crm/quote/index.php'));
    CUrlRewriter::Add(array("CONDITION" => '#^' . WIZARD_SITE_DIR . 'crm/configs/measure/#', "RULE" => '', "ID" => 'bitrix:crm.config.measure', "PATH" => WIZARD_SITE_DIR . 'crm/configs/measure/index.php'));
    CUrlRewriter::Add(array("CONDITION" => '#^' . WIZARD_SITE_DIR . 'crm/configs/productprops/#', "RULE" => '', "ID" => "bitrix:crm.config.productprops", "PATH" => WIZARD_SITE_DIR . 'crm/configs/productprops/index.php'));
}
if (!WIZARD_IS_RERUN || COption::GetOptionString("crm", "form_features") == "Y") {
    // desktop on CRM index page
    $arOptions["GADGETS"] = array("CRM_MY_ACTIVITIES@1494" => array("COLUMN" => "0", "HIDE" => "N", "SETTINGS" => array("TITLE_STD" => GetMessage('CRM_GADGET_MY_ACTIVITY'), "SORT_BY" => "DESC", "ITEM_COUNT" => "5")), "CRM_DEAL_LIST@9562" => array("COLUMN" => "1", "ROW" => "0", "HIDE" => "N", "SETTINGS" => array("TITLE_STD" => GetMessage('CRM_GADGET_MY_DEAL_TITLE'), "STAGE_ID" => "WON", "ONLY_MY" => "N", "SORT" => "DATE_MODIFY", "SORT_BY" => "DESC", "DEAL_COUNT" => "3")), "CRM_LEAD_LIST@27424" => array("COLUMN" => "1", "ROW" => "2", "HIDE" => "N", "SETTINGS" => array("TITLE_STD" => GetMessage('CRM_GADGET_MY_LEAD_TITLE'), "STATUS_ID" => array("NEW", "ASSIGNED", "DETAILS", "CANNOT_CONTACT", "IN_PROCESS", "ON_HOLD", "RESTORED", "JUNK"), "ONLY_MY" => "N", "DATE_CREATE", "SORT_BY" => "DESC", "LEAD_COUNT" => "3")), "desktop-actions" => array("COLUMN" => 2, "ROW" => 0, "HIDE" => "N"));
    WizardServices::SetUserOption('intranet', '~gadgets_crm', $arOptions, $common = true);
}
if (WIZARD_INSTALL_DEMO_DATA && WIZARD_SITE_ID == "s1") {
    $CCrmRole = new CCrmRole();
    $arRoles = array('adm' => array('NAME' => GetMessage('CRM_ROLE_ADMIN'), 'RELATION' => array('LEAD' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'DEAL' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'CONTACT' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'COMPANY' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'QUOTE' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'INVOICE' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'CONFIG' => array('WRITE' => array('-' => 'X')))), 'dir' => array('NAME' => GetMessage('CRM_ROLE_DIRECTOR'), 'RELATION' => array('LEAD' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'DEAL' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'CONTACT' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'COMPANY' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'QUOTE' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'INVOICE' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')))), 'chif' => array('NAME' => GetMessage('CRM_ROLE_CHIF'), 'RELATION' => array('LEAD' => array('READ' => array('-' => 'D'), 'EXPORT' => array('-' => 'D'), 'IMPORT' => array('-' => 'D'), 'ADD' => array('-' => 'D'), 'WRITE' => array('-' => 'D'), 'DELETE' => array('-' => 'D')), 'DEAL' => array('READ' => array('-' => 'D'), 'EXPORT' => array('-' => 'D'), 'IMPORT' => array('-' => 'D'), 'ADD' => array('-' => 'D'), 'WRITE' => array('-' => 'D'), 'DELETE' => array('-' => 'D')), 'CONTACT' => array('READ' => array('-' => 'D'), 'EXPORT' => array('-' => 'D'), 'IMPORT' => array('-' => 'D'), 'ADD' => array('-' => 'D'), 'WRITE' => array('-' => 'D'), 'DELETE' => array('-' => 'D')), 'COMPANY' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'QUOTE' => array('READ' => array('-' => 'D'), 'EXPORT' => array('-' => 'D'), 'IMPORT' => array('-' => 'D'), 'ADD' => array('-' => 'D'), 'WRITE' => array('-' => 'D'), 'DELETE' => array('-' => 'D')), 'INVOICE' => array('READ' => array('-' => 'D'), 'EXPORT' => array('-' => 'D'), 'IMPORT' => array('-' => 'D'), 'ADD' => array('-' => 'D'), 'WRITE' => array('-' => 'D'), 'DELETE' => array('-' => 'D')))), 'man' => array('NAME' => GetMessage('CRM_ROLE_MAN'), 'RELATION' => array('LEAD' => array('READ' => array('-' => 'A'), 'EXPORT' => array('-' => 'A'), 'IMPORT' => array('-' => 'A'), 'ADD' => array('-' => 'A'), 'WRITE' => array('-' => 'A'), 'DELETE' => array('-' => 'A')), 'DEAL' => array('READ' => array('-' => 'A'), 'EXPORT' => array('-' => 'A'), 'IMPORT' => array('-' => 'A'), 'ADD' => array('-' => 'A'), 'WRITE' => array('-' => 'A'), 'DELETE' => array('-' => 'A')), 'CONTACT' => array('READ' => array('-' => 'A'), 'EXPORT' => array('-' => 'A'), 'IMPORT' => array('-' => 'A'), 'ADD' => array('-' => 'A'), 'WRITE' => array('-' => 'A'), 'DELETE' => array('-' => 'A')), 'COMPANY' => array('READ' => array('-' => 'X'), 'EXPORT' => array('-' => 'X'), 'IMPORT' => array('-' => 'X'), 'ADD' => array('-' => 'X'), 'WRITE' => array('-' => 'X'), 'DELETE' => array('-' => 'X')), 'QUOTE' => array('READ' => array('-' => 'A'), 'EXPORT' => array('-' => 'A'), 'IMPORT' => array('-' => 'A'), 'ADD' => array('-' => 'A'), 'WRITE' => array('-' => 'A'), 'DELETE' => array('-' => 'A')), 'INVOICE' => array('READ' => array('-' => 'A'), 'EXPORT' => array('-' => 'A'), 'IMPORT' => array('-' => 'A'), 'ADD' => array('-' => 'A'), 'WRITE' => array('-' => 'A'), 'DELETE' => array('-' => 'A')))));
    $iRoleIDAdm = $iRoleIDDir = $iRoleIDChif = $iRoleIDMan = 0;
    $obRole = CCrmRole::GetList(array(), array());
    while ($arRole = $obRole->Fetch()) {
        if ($arRole['NAME'] == GetMessage('CRM_ROLE_ADMIN')) {
            $iRoleIDAdm = $arRole['ID'];
        } else {
            if ($arRole['NAME'] == GetMessage('CRM_ROLE_DIRECTOR')) {
                $iRoleIDDir = $arRole['ID'];
            } else {
                if ($arRole['NAME'] == GetMessage('CRM_ROLE_CHIF')) {
                    $iRoleIDChif = $arRole['ID'];
                } else {
                    if ($arRole['NAME'] == GetMessage('CRM_ROLE_MAN')) {
                        $iRoleIDMan = $arRole['ID'];
                    }
                }
            }
コード例 #2
0
ファイル: crm_quote.php プロジェクト: DarneoStudio/bitrix
 public static function LocalComponentCausedUpdater()
 {
     global $stackCacheManager;
     $bResult = true;
     $errMsg = array();
     // at first, check last update version
     if (COption::GetOptionString('crm', '~CRM_QUOTE_14_1_11', 'N') === 'Y') {
         return $bResult;
     }
     try {
         // Copy perms from deals to quotes
         $CCrmRole = new CCrmRole();
         $dbRoles = $CCrmRole->GetList();
         while ($arRole = $dbRoles->Fetch()) {
             $arPerms = $CCrmRole->GetRolePerms($arRole['ID']);
             if (!isset($arPerms['QUOTE']) && is_array($arPerms['DEAL'])) {
                 foreach ($arPerms['DEAL'] as $key => $value) {
                     if (isset($value['-'])) {
                         $arPerms['QUOTE'][$key]['-'] = $value['-'];
                     } else {
                         $arPerms['QUOTE'][$key]['-'] = null;
                     }
                 }
             }
             $arFields = array('RELATION' => $arPerms);
             $CCrmRole->Update($arRole['ID'], $arFields);
         }
         // Create default quote status list (if not exists)
         $arStatus = CCrmStatus::GetStatus('QUOTE_STATUS');
         if (empty($arStatus)) {
             $CCrmStatus = new CCrmStatus('QUOTE_STATUS');
             $arAdd = array(array('NAME' => GetMessage('CRM_QUOTE_STATUS_DRAFT'), 'STATUS_ID' => 'DRAFT', 'SORT' => 10, 'SYSTEM' => 'Y'), array('NAME' => GetMessage('CRM_QUOTE_STATUS_SENT'), 'STATUS_ID' => 'SENT', 'SORT' => 20, 'SYSTEM' => 'N'), array('NAME' => GetMessage('CRM_QUOTE_STATUS_RECEIVED'), 'STATUS_ID' => 'RECEIVED', 'SORT' => 30, 'SYSTEM' => 'N'), array('NAME' => GetMessage('CRM_QUOTE_STATUS_APPROVED'), 'STATUS_ID' => 'APPROVED', 'SORT' => 40, 'SYSTEM' => 'Y'), array('NAME' => GetMessage('CRM_QUOTE_STATUS_UNANSWERED'), 'STATUS_ID' => 'UNANSWERED', 'SORT' => 50, 'SYSTEM' => 'N'), array('NAME' => GetMessage('CRM_QUOTE_STATUS_DECLAINED'), 'STATUS_ID' => 'DECLAINED', 'SORT' => 60, 'SYSTEM' => 'Y'));
             foreach ($arAdd as $ar) {
                 $CCrmStatus->Add($ar);
             }
             $stackCacheManager->Clear('b_crm_status', 'QUOTE_STATUS');
         }
         unset($arStatus);
     } catch (Exception $e) {
         $errMsg[] = $e->getMessage();
     }
     if (empty($errMsg)) {
         COption::SetOptionString('crm', '~CRM_QUOTE_14_1_11', 'Y');
     } else {
         $errString = implode('<br>', $errMsg);
         ShowError($errString);
         $bResult = false;
     }
     return $bResult;
 }
コード例 #3
0
ファイル: sale_link.php プロジェクト: mrdeadmouse/u136006
                    COption::SetOptionString('crm', '~CRM_INVOICE_PRODUCTS_CONVERTED_12_5_7', 'Y');
                } else {
                    $errMsg[] = Loc::getMessage('CRM_UPDATE_ERR_005');
                    return;
                }
            }
        } else {
            $errMsg[] = Loc::getMessage('CRM_UPDATE_ERR_004');
            return;
        }
    }
}
if (empty($errMsg)) {
    //Copy perms from deals to invoices
    $CCrmRole = new CCrmRole();
    $dbRoles = $CCrmRole->GetList();
    while ($arRole = $dbRoles->Fetch()) {
        $arPerms = $CCrmRole->GetRolePerms($arRole['ID']);
        if (!isset($arPerms['INVOICE']) && is_array($arPerms['DEAL'])) {
            foreach ($arPerms['DEAL'] as $key => $value) {
                if (isset($value['-']) && $value['-'] != 'O') {
                    $arPerms['INVOICE'][$key]['-'] = $value['-'];
                } else {
                    $arPerms['INVOICE'][$key]['-'] = 'X';
                }
            }
        }
        $arFields = array('RELATION' => $arPerms);
        $CCrmRole->Update($arRole['ID'], $arFields);
    }
}
コード例 #4
0
ファイル: component.php プロジェクト: mrdeadmouse/u136006
        }
    } else {
        ShowError($arResult['ERROR_MESSAGE']);
    }
    $arResult['ROLE'] = array('ID' => $arParams['ROLE_ID'], 'NAME' => $arFields['NAME']);
    $arResult['ROLE_PERMS'] = $arFields['RELATION'];
} else {
    if ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete']) && check_bitrix_sessid() && $arParams['ROLE_ID'] > 0) {
        $CCrmRole = new CCrmRole();
        $CCrmRole->Delete($arParams['ROLE_ID']);
        LocalRedirect($arParams['PATH_TO_ENTITY_LIST']);
    }
}
if (!$bVarsFromForm) {
    if ($arParams['ROLE_ID'] > 0) {
        $obRes = CCrmRole::GetList(array(), array('ID' => $arParams['ROLE_ID']));
        $arResult['ROLE'] = $obRes->Fetch();
        if ($arResult['ROLE'] == false) {
            $arParams['ROLE_ID'] = 0;
        }
    }
    if ($arParams['ROLE_ID'] <= 0) {
        $arResult['ROLE']['ID'] = 0;
        $arResult['ROLE']['NAME'] = '';
    }
    $arResult['ROLE_PERMS'] = array();
}
if ($arParams['ROLE_ID'] > 0 && !$bVarsFromForm) {
    $arResult['~ROLE_PERMS'] = CCrmRole::GetRolePerms($arParams['ROLE_ID']);
}
if (!$bVarsFromForm) {
コード例 #5
0
ファイル: component.php プロジェクト: mrdeadmouse/u136006
    return;
}
CJSCore::Init(array('access', 'window'));
$arParams['PATH_TO_ROLE_EDIT'] = CrmCheckPath('PATH_TO_ROLE_EDIT', $arParams['PATH_TO_ROLE_EDIT'], $APPLICATION->GetCurPage());
$arParams['PATH_TO_ENTITY_LIST'] = CrmCheckPath('PATH_TO_ENTITY_LIST', $arParams['PATH_TO_ENTITY_LIST'], $APPLICATION->GetCurPage());
// save settings
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['ACTION'] == 'save' && check_bitrix_sessid()) {
    $arPerms = isset($_POST['PERMS']) ? $_POST['PERMS'] : array();
    $CCrmRole = new CcrmRole();
    $CCrmRole->SetRelation($arPerms);
    LocalRedirect($APPLICATION->GetCurPage());
}
// get role list
$arResult['PATH_TO_ROLE_ADD'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => 0));
$arResult['ROLE'] = array();
$obRes = CCrmRole::GetList();
while ($arRole = $obRes->Fetch()) {
    $arRole['PATH_TO_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => $arRole['ID']));
    $arRole['PATH_TO_DELETE'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => $arRole['ID'])), array('delete' => '1', 'sessid' => bitrix_sessid()));
    $arRole['NAME'] = htmlspecialcharsbx($arRole['NAME']);
    $arResult['ROLE'][$arRole['ID']] = $arRole;
}
// get role relation
$arResult['RELATION'] = array();
$arResult['RELATION_ENTITY'] = array();
$obRes = CCrmRole::GetRelation();
while ($arRelation = $obRes->Fetch()) {
    $arResult['RELATION'][$arRelation['RELATION']] = $arRelation;
    $arResult['RELATION_ENTITY'][$arRelation['RELATION']] = true;
}
$CAccess = new CAccess();