mirror of
https://github.com/SuiteCRM/SuiteCRM-Core.git
synced 2025-08-29 11:00:40 +08:00
Squashed 'public/legacy/' changes from ee41ae127f..f7552f5bda
f7552f5bda SuiteCRM 7.13.4 Release 614f2ff6c1 Fix #9601 - Fix bug where report conditions parenthesis pairs would not save correctly. d09a78597f Fix #10033 - PHP Fatal error Uncaught TypeError PHP8 47081de512 Fix #10051 - Add some context to the remove of ACLs during module installation cc1d098646 Fix #9654 - Fix issue with different date formats being compared for change log 18a66f059e Fix #9816 - $item is an array, no object 723eed40a1 Fix #9516 - getRelatedId returns null instad of string 4d2496aec7 Fix #10050 - Add missing language definitions for the module loader 77a55cde25 Fix #10029 - Dashlet not changing on save 75a05ea946 Fix #10035 - Monitored Folders not selectable for Basic Auth Accounts 3991e127a8 Fix #10091 - login parameter failing f53af1ae32 Fix #10097 - AOP Config not saving 60727e0259 Fix #9937 - Resolve high memory usage when performing bulk relationship changes 706edbb853 Fix #8682 - Workflow fails with relationship condition 9bbf5a1dba Fix #9548 - Wrong decimal precision returned in a Modify Record workflow action 8023ea003f Fix #10034 - Email Listview doesn't render, so no Emails are visible. b9c1ee1968 Improve codeception variable usage to simplify usage ecc1a8f128 Fix #10047 - Tasks due date not saving git-subtree-dir: public/legacy git-subtree-split: f7552f5bdad7e99c6ae69c78923ab6592656e7a5
This commit is contained in:
parent
601c0c039b
commit
03101b9e99
34 changed files with 958 additions and 461 deletions
|
@ -407,16 +407,68 @@ class AOW_WorkFlow extends Basic
|
|||
$field = $table_alias.'_cstm.'.$condition->field;
|
||||
$query = $this->build_flow_custom_query_join(
|
||||
$table_alias,
|
||||
$table_alias.'_cstm',
|
||||
$table_alias . '_cstm',
|
||||
$condition_module,
|
||||
$query
|
||||
);
|
||||
} else if (isset($data['source']) && $data['source'] == 'non-db' && $data['type'] == 'relate' && !empty($data['link'])) {
|
||||
$rel = $data['link'];
|
||||
if (!isset($query['join'][$rel])) {
|
||||
if ($condition_module->load_relationship($rel)) {
|
||||
$join = $condition_module->$rel->getJoin([
|
||||
'join_type' => 'LEFT JOIN',
|
||||
'join_table_alias' => str_replace('.', '_', $rel),
|
||||
'left_join_table_alias' => $table_alias,
|
||||
'right_join_table_alias' => $table_alias
|
||||
], true);
|
||||
$query['join'][$rel] = $join['join'];
|
||||
$query['select'][] = $join['select'] . " AS '" . str_replace('.', '_', $rel) . "_id'";
|
||||
}
|
||||
}
|
||||
$relObject = $condition_module->$rel;
|
||||
|
||||
if (!empty($relObject)) {
|
||||
if ($relObject->getRelationshipObject()->type == 'one-to-many') {
|
||||
$field = $table_alias . '.' . $data['id_name'];
|
||||
} else {
|
||||
$targetTable = $relObject->getRelationshipObject()->getRelationshipTable();
|
||||
$field = $targetTable . '.' . $data['id_name'];
|
||||
}
|
||||
} else {
|
||||
$field = $table_alias . '.' . $condition->field;
|
||||
}
|
||||
} else if (isset($data['source']) && $data['source'] == 'non-db' && $data['type'] == 'relate') {
|
||||
$relModule = $data['module'];
|
||||
$relBean = BeanFactory::getBean($relModule);
|
||||
$relAlias = $data['id'];
|
||||
$id_name = $data['id_name'];
|
||||
$parentFieldDef = $condition_module->getFieldDefinition($data['id_name']);
|
||||
if (!empty($parentFieldDef['source']) && $parentFieldDef['source'] == 'custom_fields') {
|
||||
$query = $this->build_flow_custom_query_join(
|
||||
$table_alias,
|
||||
$table_alias . '_cstm',
|
||||
$condition_module,
|
||||
$query
|
||||
);
|
||||
$table_alias = $table_alias . '_cstm';
|
||||
}
|
||||
$primaryKey = $relBean->getPrimaryFieldDefinition();
|
||||
if (!isset($query['join'][$relAlias])) {
|
||||
$query['join'][$relAlias] = ' LEFT JOIN ' . $relBean->getTableName()
|
||||
. ' ' . $relAlias . ' ON ' . $table_alias . '.' . $id_name . ' = ' . $relAlias . '.' . $primaryKey['name'];
|
||||
}
|
||||
$field = $relAlias . '.' . $data['rname'];
|
||||
$relFieldDef = $relBean->getFieldDefinition($data['rname']);
|
||||
|
||||
if (isset($relFieldDef['db_concat_fields'])) {
|
||||
$field = $this->db->concat($relAlias, $relFieldDef['db_concat_fields']);
|
||||
}
|
||||
} else {
|
||||
$field = $table_alias.'.'.$condition->field;
|
||||
$field = $table_alias . '.' . $condition->field;
|
||||
}
|
||||
|
||||
if ($condition->operator == 'is_null') {
|
||||
$query['where'][] = '('.$field.' '.$this->getSQLOperator($condition->operator).' OR '.$field.' '.$this->getSQLOperator('Equal_To')." '')";
|
||||
$query['where'][] = '(' . $field . ' ' . $this->getSQLOperator($condition->operator) . ' OR ' . $field . ' ' . $this->getSQLOperator('Equal_To') . " '')";
|
||||
return $query;
|
||||
}
|
||||
|
||||
|
|
|
@ -384,10 +384,6 @@ function getModuleField(
|
|||
$vardef['type'] = 'varchar';
|
||||
}
|
||||
|
||||
if (isset($vardef['precision'])) {
|
||||
unset($vardef['precision']);
|
||||
}
|
||||
|
||||
//$vardef['precision'] = $locale->getPrecedentPreference('default_currency_significant_digits', $current_user);
|
||||
|
||||
if ($vardef['type'] == 'datetime') {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue