Exemplo n.º 1
0
$queryGenerator->setFields(array('id', 'firstname'));
$queryGenerator->addCondition('assigned_user_id', 'Administrator', 'e');
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
echo "<h2>exists condition</h2>";
$queryGenerator = new QueryGenerator('Contacts', $current_user);
$queryGenerator->setFields(array('id', 'accountname', 'firstname'));
$queryGenerator->addReferenceModuleFieldCondition('Accounts', 'account_id', 'accountname', 'EDFG Group Limited', 'exists');
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
echo "<h2>Query with smownerid of rel module</h2>";
$queryGenerator = new QueryGenerator("Contacts", $current_user);
$queryGenerator->setFields(array('id', 'accountname', 'Accounts.assigned_user_id'));
$queryGenerator->addReferenceModuleFieldCondition('Accounts', 'account_id', 'accountname', 'EDFG Group Limited', 'exists');
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
echo "<h2>Query with subject of Invoice and SO and account_id of rel module</h2>";
$queryGenerator = new QueryGenerator("Invoice", $current_user);
$queryGenerator->setFields(array('id', 'subject', 'Accounts.assigned_user_id', 'SalesOrder.subject', 'SalesOrder.account_id'));
//$queryGenerator->addReferenceModuleFieldCondition('Accounts', 'account_id', 'accountname', 'EDFG Group Limited', 'exists');
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
echo "<h2>Query for modules with relation on themselves</h2>";
$queryGenerator = new QueryGenerator('Accounts', $current_user);
$queryGenerator->setFields(array('id', 'accountname', 'website', 'Accounts.accountname', 'Accounts.website'));
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
Exemplo n.º 2
0
function dup_dependent_rec($record_id, $relatedModule, $new_record_id, $dependent_tables, $maped_relations)
{
    global $adb, $current_user;
    $invmods = getInventoryModules();
    foreach ($dependent_tables as $module => $tables) {
        if (in_array($module, $invmods)) {
            continue;
        }
        // we can't duplicate these
        if (empty($maped_relations) or isset($maped_relations[$module])) {
            require_once "modules/" . $module . "/" . $module . ".php";
            $handler = vtws_getModuleHandlerFromName($module, $current_user);
            $meta = $handler->getMeta();
            $related_field = $tables['columname'];
            $queryGenerator = new QueryGenerator($module, $current_user);
            $queryGenerator->setFields(array('id'));
            $queryGenerator->addReferenceModuleFieldCondition($relatedModule, $related_field, 'id', $record_id, 'e');
            $query = $queryGenerator->getQuery();
            $result = $adb->pquery($query, array());
            while ($r = $adb->fetch_array($result)) {
                // Duplicate dependent records
                $entity = new $module();
                $entity->mode = '';
                $entity->retrieve_entity_info($r[0], $module);
                $entity->column_fields[$related_field] = $new_record_id;
                $entity->column_fields = DataTransform::sanitizeRetrieveEntityInfo($entity->column_fields, $meta);
                $entity->save($module);
            }
        }
    }
}