当前位置: 首页>>代码示例>>PHP>>正文


PHP Relationship::retrieve_by_modules方法代码示例

本文整理汇总了PHP中Relationship::retrieve_by_modules方法的典型用法代码示例。如果您正苦于以下问题:PHP Relationship::retrieve_by_modules方法的具体用法?PHP Relationship::retrieve_by_modules怎么用?PHP Relationship::retrieve_by_modules使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Relationship的用法示例。


在下文中一共展示了Relationship::retrieve_by_modules方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: action_addToProspectList

 protected function action_addToProspectList()
 {
     global $beanList;
     require_once 'modules/Relationships/Relationship.php';
     require_once 'modules/ProspectLists/ProspectList.php';
     $prospectList = new ProspectList();
     $prospectList->retrieve($_REQUEST['prospect_id']);
     $module = new $beanList[$this->bean->report_module]();
     $key = Relationship::retrieve_by_modules($this->bean->report_module, 'ProspectLists', $GLOBALS['db']);
     if (!empty($key)) {
         $sql = $this->bean->build_report_query();
         $result = $this->bean->db->query($sql);
         $beans = array();
         while ($row = $this->bean->db->fetchByAssoc($result)) {
             if (isset($row[$module->table_name . '_id'])) {
                 $beans[] = $row[$module->table_name . '_id'];
             }
         }
         if (!empty($beans)) {
             foreach ($prospectList->field_defs as $field => $def) {
                 if ($def['type'] == 'link' && !empty($def['relationship']) && $def['relationship'] == $key) {
                     $prospectList->load_relationship($field);
                     $prospectList->{$field}->add($beans);
                 }
             }
         }
     }
     die;
 }
开发者ID:isrealconsulting,项目名称:ic-suite,代码行数:29,代码来源:controller.php

示例2: save_relationship_changes

 /**
  * This function is a good location to save changes that have been made to a relationship.
  * This should be overriden in subclasses that have something to save.
  *
  * @param $is_update true if this save is an update.
  */
 function save_relationship_changes($is_update, $exclude = array())
 {
     $new_rel_id = false;
     $new_rel_link = false;
     //this allows us to dynamically relate modules without adding it to the relationship_fields array
     if (!empty($_REQUEST['relate_id']) && !empty($_REQUEST['relate_to']) && !in_array($_REQUEST['relate_to'], $exclude) && $_REQUEST['relate_id'] != $this->id) {
         $new_rel_id = $_REQUEST['relate_id'];
         $new_rel_relname = $_REQUEST['relate_to'];
         if (!empty($this->in_workflow) && !empty($this->not_use_rel_in_req)) {
             $new_rel_id = $this->new_rel_id;
             $new_rel_relname = $this->new_rel_relname;
         }
         $new_rel_link = $new_rel_relname;
         //Try to find the link in this bean based on the relationship
         foreach ($this->field_defs as $key => $def) {
             if (isset($def['type']) && $def['type'] == 'link' && isset($def['relationship']) && $def['relationship'] == $new_rel_relname) {
                 $new_rel_link = $key;
             }
         }
     }
     // First we handle the preset fields listed in the fixed relationship_fields array hardcoded into the OOB beans
     // TODO: remove this mechanism and replace with mechanism exclusively based on the vardefs
     if (isset($this->relationship_fields) && is_array($this->relationship_fields)) {
         foreach ($this->relationship_fields as $id => $rel_name) {
             if (in_array($id, $exclude)) {
                 continue;
             }
             if (!empty($this->{$id})) {
                 $GLOBALS['log']->debug('save_relationship_changes(): From relationship_field array - adding a relationship record: ' . $rel_name . ' = ' . $this->{$id});
                 //already related the new relationship id so let's set it to false so we don't add it again using the _REQUEST['relate_i'] mechanism in a later block
                 if ($this->{$id} == $new_rel_id) {
                     $new_rel_id = false;
                 }
                 $this->load_relationship($rel_name);
                 $this->{$rel_name}->add($this->{$id});
                 $related = true;
             } else {
                 //if before value is not empty then attempt to delete relationship
                 if (!empty($this->rel_fields_before_value[$id])) {
                     $GLOBALS['log']->debug('save_relationship_changes(): From relationship_field array - attempting to remove the relationship record, using relationship attribute' . $rel_name);
                     $this->load_relationship($rel_name);
                     $this->{$rel_name}->delete($this->id, $this->rel_fields_before_value[$id]);
                 }
             }
         }
     }
     /*      Next, we'll attempt to update all of the remaining relate fields in the vardefs that have 'save' set in their field_def
             Only the 'save' fields should be saved as some vardef entries today are not for display only purposes and break the application if saved
             If the vardef has entries for field <a> of type relate, where a->id_name = <b> and field <b> of type link
             then we receive a value for b from the MVC in the _REQUEST, and it should be set in the bean as $this->$b
     */
     foreach ($this->field_defs as $def) {
         if ($def['type'] == 'relate' && isset($def['id_name']) && isset($def['link']) && isset($def['save'])) {
             if (in_array($def['id_name'], $exclude) || in_array($def['id_name'], $this->relationship_fields)) {
                 continue;
             }
             // continue to honor the exclude array and exclude any relationships that will be handled by the relationship_fields mechanism
             if (isset($this->field_defs[$def['link']])) {
                 $linkfield = $this->field_defs[$def['link']];
                 if ($this->load_relationship($def['link'])) {
                     if (!empty($this->rel_fields_before_value[$def['id_name']])) {
                         //if before value is not empty then attempt to delete relationship
                         $GLOBALS['log']->debug("save_relationship_changes(): From field_defs - attempting to remove the relationship record: {$def['link']} = {$this->rel_fields_before_value[$def['id_name']]}");
                         $this->{$def}['link']->delete($this->id, $this->rel_fields_before_value[$def['id_name']]);
                     }
                     if (!empty($this->{$def}['id_name']) && is_string($this->{$def}['id_name'])) {
                         $GLOBALS['log']->debug("save_relationship_changes(): From field_defs - attempting to add a relationship record - {$def['link']} = {$this->{$def}['id_name']}");
                         $this->{$def}['link']->add($this->{$def}['id_name']);
                     }
                 } else {
                     $GLOBALS['log']->fatal("Failed to load relationship {$def['link']} while saving {$this->module_dir}");
                 }
             }
         }
     }
     // Finally, we update a field listed in the _REQUEST['*/relate_id']/_REQUEST['relate_to'] mechanism (if it hasn't already been updated above)
     if (!empty($new_rel_id)) {
         if ($this->load_relationship($new_rel_link)) {
             $this->{$new_rel_link}->add($new_rel_id);
         } else {
             $lower_link = strtolower($new_rel_link);
             if ($this->load_relationship($lower_link)) {
                 $this->{$lower_link}->add($new_rel_id);
             } else {
                 require_once 'data/Link.php';
                 $rel = Relationship::retrieve_by_modules($new_rel_link, $this->module_dir, $GLOBALS['db'], 'many-to-many');
                 if (!empty($rel)) {
                     foreach ($this->field_defs as $field => $def) {
                         if ($def['type'] == 'link' && !empty($def['relationship']) && $def['relationship'] == $rel) {
                             $this->load_relationship($field);
                             $this->{$field}->add($new_rel_id);
                             return;
                         }
                     }
//.........这里部分代码省略.........
开发者ID:rgauss,项目名称:sugarcrm_dev,代码行数:101,代码来源:SugarBean.php

示例3: while

$result = $this->bean->db->query($sql);
while ($row = $this->bean->db->fetchByAssoc($result)) {
    $row['id'] = '';
    $row['parent_id'] = $contract->id;
    $row['parent_type'] = 'AOS_Contracts';
    if ($row['product_cost_price'] != null) {
        $row['product_cost_price'] = format_number($row['product_cost_price']);
    }
    $row['product_list_price'] = format_number($row['product_list_price']);
    if ($row['product_discount'] != null) {
        $row['product_discount'] = format_number($row['product_discount']);
        $row['product_discount_amount'] = format_number($row['product_discount_amount']);
    }
    $row['product_unit_price'] = format_number($row['product_unit_price']);
    $row['vat_amt'] = format_number($row['vat_amt']);
    $row['product_total_price'] = format_number($row['product_total_price']);
    $row['product_qty'] = format_number($row['product_qty']);
    $row['group_id'] = $group_id_map[$row['group_id']];
    $prod_contract = new AOS_Products_Quotes();
    $prod_contract->populateFromRow($row);
    $prod_contract->save();
}
//Setting contract quote relationship
require_once 'modules/Relationships/Relationship.php';
$key = Relationship::retrieve_by_modules('AOS_Quotes', 'AOS_Contracts', $GLOBALS['db']);
if (!empty($key)) {
    $quote->load_relationship($key);
    $quote->{$key}->add($contract->id);
}
ob_clean();
header('Location: index.php?module=AOS_Contracts&action=EditView&record=' . $contract->id);
开发者ID:MexinaD,项目名称:SuiteCRM,代码行数:31,代码来源:createContract.php

示例4: handle_request_relate

 /**
  * Finally, we update a field listed in the _REQUEST['%/relate_id']/_REQUEST['relate_to'] mechanism (if it has not already been updated)
  *
  * @api
  * @see save_relationship_changes
  * @param string|boolean $new_rel_id
  * @param string $new_rel_link
  * @return boolean
  */
 protected function handle_request_relate($new_rel_id, $new_rel_link)
 {
     if (!empty($new_rel_id)) {
         if ($this->load_relationship($new_rel_link)) {
             return $this->{$new_rel_link}->add($new_rel_id);
         } else {
             $lower_link = strtolower($new_rel_link);
             if ($this->load_relationship($lower_link)) {
                 return $this->{$lower_link}->add($new_rel_id);
             } else {
                 require_once 'data/Link2.php';
                 $rel = Relationship::retrieve_by_modules($new_rel_link, $this->module_dir, $this->db, 'many-to-many');
                 if (!empty($rel)) {
                     foreach ($this->field_defs as $field => $def) {
                         if ($def['type'] == 'link' && !empty($def['relationship']) && $def['relationship'] == $rel) {
                             $this->load_relationship($field);
                             return $this->{$field}->add($new_rel_id);
                         }
                     }
                     //ok so we didn't find it in the field defs let's save it anyway if we have the relationshp
                     $this->{$rel} = new Link2($rel, $this, array());
                     return $this->{$rel}->add($new_rel_id);
                 }
             }
         }
     }
     // nothing was saved so just return false;
     return false;
 }
开发者ID:thsonvt,项目名称:sugarcrm_dev,代码行数:38,代码来源:SugarBean.php

示例5: testretrieve_by_modules

 public function testretrieve_by_modules()
 {
     //unset and reconnect Db to resolve mysqli fetch exeception
     global $db;
     unset($db->database);
     $db->checkConnection();
     $relationship = new Relationship();
     //test with invalid relationship
     $result = $relationship->retrieve_by_modules('test1', 'test2', $db);
     $this->assertEquals(null, $result);
     //test with valid relationship but incorecct type
     $result = $relationship->retrieve_by_modules('Roles', 'Users', $db, 'one-to-many');
     $this->assertEquals(null, $result);
     //test with valid relationship and valid type
     $result = $relationship->retrieve_by_modules('Roles', 'Users', $db, 'many-to-many');
     $this->assertEquals('roles_users', $result);
 }
开发者ID:sacredwebsite,项目名称:SuiteCRM,代码行数:17,代码来源:RelationshipTest.php

示例6: handle_set_relationship

/**
 * (Internal) Create a relationship between two beans.
 *
 * @param Array $set_relationship_value --
 *      'module1' -- The name of the module that the primary record is from.  This name should be the name the module was developed under (changing a tab name is studio does not affect the name that should be passed into this method)..
 *      'module1_id' -- The ID of the bean in the specified module
 *      'module2' -- The name of the module that the related record is from.  This name should be the name the module was developed under (changing a tab name is studio does not affect the name that should be passed into this method)..
 *      'module2_id' -- The ID of the bean in the specified module
 * @return Empty error on success, Error on failure
 */
function handle_set_relationship($set_relationship_value, $session = '')
{
    global $beanList, $beanFiles;
    $error = new SoapError();
    $module1 = $set_relationship_value['module1'];
    $module1_id = $set_relationship_value['module1_id'];
    $module2 = $set_relationship_value['module2'];
    $module2_id = $set_relationship_value['module2_id'];
    if (empty($beanList[$module1]) || empty($beanList[$module2])) {
        $error->set_error('no_module');
        return $error->get_soap_array();
    }
    $class_name = $beanList[$module1];
    require_once $beanFiles[$class_name];
    $mod = new $class_name();
    $mod->retrieve($module1_id);
    if (!$mod->ACLAccess('DetailView')) {
        $error->set_error('no_access');
        return $error->get_soap_array();
    }
    if ($module1 == "Contacts" && $module2 == "Users") {
        $key = 'contacts_users_id';
    } else {
        $key = array_search(strtolower($module2), $mod->relationship_fields);
        if (!$key) {
            $key = Relationship::retrieve_by_modules($module1, $module2, $GLOBALS['db']);
            // BEGIN SnapLogic fix for bug 32064
            if ($module1 == "Quotes" && $module2 == "ProductBundles") {
                // Alternative solution is perhaps to
                // do whatever Sugar does when the same
                // request is received from the web:
                $pb_cls = $beanList[$module2];
                $pb = new $pb_cls();
                $pb->retrieve($module2_id);
                // Check if this relationship already exists
                $query = "SELECT count(*) AS count FROM product_bundle_quote WHERE quote_id = '{$module1_id}' AND bundle_id = '{$module2_id}' AND deleted = '0'";
                $result = $GLOBALS['db']->query($query, true, "Error checking for previously existing relationship between quote and product_bundle");
                $row = $GLOBALS['db']->fetchByAssoc($result);
                if (isset($row['count']) && $row['count'] > 0) {
                    return $error->get_soap_array();
                }
                $query = "SELECT MAX(bundle_index)+1 AS idx FROM product_bundle_quote WHERE quote_id = '{$module1_id}' AND deleted='0'";
                $result = $GLOBALS['db']->query($query, true, "Error getting bundle_index");
                $GLOBALS['log']->debug("*********** Getting max bundle_index");
                $GLOBALS['log']->debug($query);
                $row = $GLOBALS['db']->fetchByAssoc($result);
                $idx = 0;
                if ($row) {
                    $idx = $row['idx'];
                }
                $pb->set_productbundle_quote_relationship($module1_id, $module2_id, $idx);
                $pb->save();
                return $error->get_soap_array();
            } else {
                if ($module1 == "ProductBundles" && $module2 == "Products") {
                    // And, well, similar things apply in this case
                    $pb_cls = $beanList[$module1];
                    $pb = new $pb_cls();
                    $pb->retrieve($module1_id);
                    // Check if this relationship already exists
                    $query = "SELECT count(*) AS count FROM product_bundle_product WHERE bundle_id = '{$module1_id}' AND product_id = '{$module2_id}' AND deleted = '0'";
                    $result = $GLOBALS['db']->query($query, true, "Error checking for previously existing relationship between quote and product_bundle");
                    $row = $GLOBALS['db']->fetchByAssoc($result);
                    if (isset($row['count']) && $row['count'] > 0) {
                        return $error->get_soap_array();
                    }
                    $query = "SELECT MAX(product_index)+1 AS idx FROM product_bundle_product WHERE bundle_id='{$module1_id}'";
                    $result = $GLOBALS['db']->query($query, true, "Error getting bundle_index");
                    $GLOBALS['log']->debug("*********** Getting max bundle_index");
                    $GLOBALS['log']->debug($query);
                    $row = $GLOBALS['db']->fetchByAssoc($result);
                    $idx = 0;
                    if ($row) {
                        $idx = $row['idx'];
                    }
                    $pb->set_productbundle_product_relationship($module2_id, $idx, $module1_id);
                    $pb->save();
                    $prod_cls = $beanList[$module2];
                    $prod = new $prod_cls();
                    $prod->retrieve($module2_id);
                    $prod->quote_id = $pb->quote_id;
                    $prod->save();
                    return $error->get_soap_array();
                }
            }
            // END SnapLogic fix for bug 32064
            if (!empty($key)) {
                $mod->load_relationship($key);
                $mod->{$key}->add($module2_id);
                return $error->get_soap_array();
//.........这里部分代码省略.........
开发者ID:sunmo,项目名称:snowlotus,代码行数:101,代码来源:SoapSugarUsers.php

示例7: handle_set_relationship

/**
 * (Internal) Create a relationship between two beans.
 *
 * @param Array $set_relationship_value --
 *      'module1' -- The name of the module that the primary record is from.  This name should be the name the module was developed under (changing a tab name is studio does not affect the name that should be passed into this method)..
 *      'module1_id' -- The ID of the bean in the specified module
 *      'module2' -- The name of the module that the related record is from.  This name should be the name the module was developed under (changing a tab name is studio does not affect the name that should be passed into this method)..
 *      'module2_id' -- The ID of the bean in the specified module
 * @return Empty error on success, Error on failure
 */
function handle_set_relationship($set_relationship_value)
{
    global $beanList, $beanFiles;
    $error = new SoapError();
    $module1 = $set_relationship_value['module1'];
    $module1_id = $set_relationship_value['module1_id'];
    $module2 = $set_relationship_value['module2'];
    $module2_id = $set_relationship_value['module2_id'];
    if (empty($beanList[$module1]) || empty($beanList[$module2])) {
        $error->set_error('no_module');
        return $error->get_soap_array();
    }
    $class_name = $beanList[$module1];
    require_once $beanFiles[$class_name];
    $mod = new $class_name();
    $mod->retrieve($module1_id);
    if (!$mod->ACLAccess('DetailView')) {
        $error->set_error('no_access');
        return $error->get_soap_array();
    }
    if ($module1 == "Contacts" && $module2 == "Users") {
        $key = 'contacts_users_id';
    } else {
        $key = array_search(strtolower($module2), $mod->relationship_fields);
        if (!$key) {
            $key = Relationship::retrieve_by_modules($module1, $module2, $GLOBALS['db']);
            if (!empty($key)) {
                $mod->load_relationship($key);
                $mod->{$key}->add($module2_id);
                return $error->get_soap_array();
            }
            // if
        }
    }
    if (!$key) {
        $error->set_error('no_module');
        return $error->get_soap_array();
    }
    if (($module1 == 'Meetings' || $module1 == 'Calls') && ($module2 == 'Contacts' || $module2 == 'Users')) {
        $key = strtolower($module2);
        $mod->load_relationship($key);
        $mod->{$key}->add($module2_id);
    } else {
        $mod->{$key} = $module2_id;
        $mod->save_relationship_changes(false);
    }
    return $error->get_soap_array();
}
开发者ID:aldridged,项目名称:gtg-sugar,代码行数:58,代码来源:SoapSugarUsers.php

示例8: save_relationship_changes


//.........这里部分代码省略.........
         $this->load_relationship($rel_link);
         if (!empty($this->{$rel_link}) && $this->{$rel_link}->getRelationshipObject() && $this->{$rel_link}->getRelationshipObject()->getLHSModule() == $this->{$rel_link}->getRelationshipObject()->getRHSModule()) {
             $new_rel_link = $this->{$rel_link}->getRelationshipObject()->getLHSLink();
         } else {
             //Try to find the link in this bean based on the relationship
             foreach ($this->field_defs as $key => $def) {
                 if (isset($def['type']) && $def['type'] == 'link' && isset($def['relationship']) && $def['relationship'] == $rel_link) {
                     $new_rel_link = $key;
                 }
             }
         }
     }
     // First we handle the preset fields listed in the fixed relationship_fields array hardcoded into the OOB beans
     // TODO: remove this mechanism and replace with mechanism exclusively based on the vardefs
     if (isset($this->relationship_fields) && is_array($this->relationship_fields)) {
         foreach ($this->relationship_fields as $id => $rel_name) {
             if (in_array($id, $exclude)) {
                 continue;
             }
             if (!empty($this->{$id})) {
                 // Bug #44930 We do not need to update main related field if it is changed from sub-panel.
                 if ($rel_name == $new_rel_link && $this->{$id} != $new_rel_id) {
                     $new_rel_id = '';
                 }
                 $GLOBALS['log']->debug('save_relationship_changes(): From relationship_field array - adding a relationship record: ' . $rel_name . ' = ' . $this->{$id});
                 //already related the new relationship id so let's set it to false so we don't add it again using the _REQUEST['relate_i'] mechanism in a later block
                 if ($this->{$id} == $new_rel_id) {
                     $new_rel_id = false;
                 }
                 $this->load_relationship($rel_name);
                 $this->{$rel_name}->add($this->{$id});
                 $related = true;
             } else {
                 //if before value is not empty then attempt to delete relationship
                 if (!empty($this->rel_fields_before_value[$id])) {
                     $GLOBALS['log']->debug('save_relationship_changes(): From relationship_field array - attempting to remove the relationship record, using relationship attribute' . $rel_name);
                     $this->load_relationship($rel_name);
                     $this->{$rel_name}->delete($this->id, $this->rel_fields_before_value[$id]);
                 }
             }
         }
     }
     /*      Next, we'll attempt to update all of the remaining relate fields in the vardefs that have 'save' set in their field_def
             Only the 'save' fields should be saved as some vardef entries today are not for display only purposes and break the application if saved
             If the vardef has entries for field <a> of type relate, where a->id_name = <b> and field <b> of type link
             then we receive a value for b from the MVC in the _REQUEST, and it should be set in the bean as $this->$b
     */
     foreach ($this->field_defs as $def) {
         if ($def['type'] == 'relate' && isset($def['id_name']) && isset($def['link']) && isset($def['save'])) {
             if (in_array($def['id_name'], $exclude) || in_array($def['id_name'], $this->relationship_fields)) {
                 continue;
             }
             // continue to honor the exclude array and exclude any relationships that will be handled by the relationship_fields mechanism
             $linkField = $def['link'];
             if (isset($this->field_defs[$linkField])) {
                 $linkfield = $this->field_defs[$linkField];
                 if ($this->load_relationship($linkField)) {
                     $idName = $def['id_name'];
                     if (!empty($this->rel_fields_before_value[$idName]) && empty($this->{$idName})) {
                         //if before value is not empty then attempt to delete relationship
                         $GLOBALS['log']->debug("save_relationship_changes(): From field_defs - attempting to remove the relationship record: {$def['link']} = {$this->rel_fields_before_value[$def['id_name']]}");
                         $this->{$def}['link']->delete($this->id, $this->rel_fields_before_value[$def['id_name']]);
                     }
                     if (!empty($this->{$idName}) && is_string($this->{$idName})) {
                         $GLOBALS['log']->debug("save_relationship_changes(): From field_defs - attempting to add a relationship record - {$def['link']} = {$this->{$def}['id_name']}");
                         $this->{$linkField}->add($this->{$idName});
                     }
                 } else {
                     $GLOBALS['log']->fatal("Failed to load relationship {$linkField} while saving {$this->module_dir}");
                 }
             }
         }
     }
     // Finally, we update a field listed in the _REQUEST['*/relate_id']/_REQUEST['relate_to'] mechanism (if it hasn't already been updated above)
     if (!empty($new_rel_id)) {
         if ($this->load_relationship($new_rel_link)) {
             $this->{$new_rel_link}->add($new_rel_id);
         } else {
             $lower_link = strtolower($new_rel_link);
             if ($this->load_relationship($lower_link)) {
                 $this->{$lower_link}->add($new_rel_id);
             } else {
                 require_once 'data/Link2.php';
                 $rel = Relationship::retrieve_by_modules($new_rel_link, $this->module_dir, $GLOBALS['db'], 'many-to-many');
                 if (!empty($rel)) {
                     foreach ($this->field_defs as $field => $def) {
                         if ($def['type'] == 'link' && !empty($def['relationship']) && $def['relationship'] == $rel) {
                             $this->load_relationship($field);
                             $this->{$field}->add($new_rel_id);
                             return;
                         }
                     }
                     //ok so we didn't find it in the field defs let's save it anyway if we have the relationshp
                     $this->{$rel} = new Link2($rel, $this, array());
                     $this->{$rel}->add($new_rel_id);
                 }
             }
         }
     }
 }
开发者ID:nicolasbui,项目名称:sugarcrm_dev,代码行数:101,代码来源:SugarBean.php

示例9: run_action

 function run_action(SugarBean $bean, $params = array(), $in_save = false)
 {
     global $beanList;
     if (isset($params['record_type']) && $params['record_type'] != '') {
         if ($beanList[$params['record_type']]) {
             $record = new $beanList[$params['record_type']]();
             $this->set_record($record, $bean, $params);
             $this->set_relationships($record, $bean, $params);
             if (isset($params['relate_to_workflow']) && $params['relate_to_workflow']) {
                 require_once 'modules/Relationships/Relationship.php';
                 $key = Relationship::retrieve_by_modules($bean->module_dir, $record->module_dir, $GLOBALS['db']);
                 if (!empty($key)) {
                     foreach ($bean->field_defs as $field => $def) {
                         if ($def['type'] == 'link' && !empty($def['relationship']) && $def['relationship'] == $key) {
                             $bean->load_relationship($field);
                             $bean->{$field}->add($record->id);
                             break;
                         }
                     }
                 }
             }
             return true;
         }
     }
     return false;
 }
开发者ID:omusico,项目名称:windcrm,代码行数:26,代码来源:actionCreateRecord.php

示例10: get_rel_module

 function get_rel_module($var_rel_name, $get_rel_name = false)
 {
     //get the vardef fields relationship name
     //get the base_module bean
     $module_bean = BeanFactory::getBean($this->base_module);
     require_once 'data/Link.php';
     $rel_name = Relationship::retrieve_by_modules($var_rel_name, $this->base_module, $GLOBALS['db']);
     if (!empty($module_bean->field_defs[$rel_name])) {
         $var_rel_name = $rel_name;
     }
     $var_rel_name = strtolower($var_rel_name);
     if ($get_rel_name) {
         //bug #46246: should set relationship name instead of related field name
         $this->rel_name = isset($rel_name) ? $rel_name : $var_rel_name;
     }
     $rel_attribute_name = $module_bean->field_defs[$var_rel_name]['relationship'];
     //use the vardef to retrive the relationship attribute
     unset($module_bean);
     return get_rel_module_name($this->base_module, $rel_attribute_name, $this->db);
 }
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:20,代码来源:WorkFlow.php

示例11: format_number

$rawRow['total_amt'] = format_number($rawRow['total_amt']);
$rawRow['discount_amount'] = format_number($rawRow['discount_amount']);
$rawRow['subtotal_amount'] = format_number($rawRow['subtotal_amount']);
$rawRow['tax_amount'] = format_number($rawRow['tax_amount']);
$rawRow['date_entered'] = '';
$rawRow['date_modified'] = '';
if ($rawRow['shipping_amount'] != null) {
    $rawRow['shipping_amount'] = format_number($rawRow['shipping_amount']);
}
$rawRow['total_amount'] = format_number($rawRow['total_amount']);
$invoice->populateFromRow($rawRow);
$invoice->process_save_dates = false;
$invoice->save();
//Setting invoice quote relationship
require_once 'modules/Relationships/Relationship.php';
$key = Relationship::retrieve_by_modules('AOS_Quotes', 'AOS_Invoices', $GLOBALS['db']);
if (!empty($key)) {
    $quote->load_relationship($key);
    $quote->{$key}->add($invoice->id);
}
//Setting Line Items
$sql = "SELECT * FROM aos_products_quotes WHERE parent_type = 'AOS_Quotes' AND parent_id = '" . $quote->id . "' AND deleted = 0";
$result = $this->bean->db->query($sql);
while ($row = $this->bean->db->fetchByAssoc($result)) {
    $row['id'] = '';
    $row['parent_id'] = $invoice->id;
    $row['parent_type'] = 'AOS_Invoices';
    if ($row['product_cost_price'] != null) {
        $row['product_cost_price'] = format_number($row['product_cost_price']);
    }
    $row['product_list_price'] = format_number($row['product_list_price']);
开发者ID:santara12,项目名称:advanced-opensales,代码行数:31,代码来源:converToInvoice.php


注:本文中的Relationship::retrieve_by_modules方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。