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:
SAgility Dev 2023-06-30 09:51:14 +00:00
parent 601c0c039b
commit 03101b9e99
34 changed files with 958 additions and 461 deletions

View file

@ -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;
}

View file

@ -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') {