[Vtigercrm-developers] Dynamically update "$tab_name" & "$tab_name_index"?
Alan Lord
alanslists at gmail.com
Wed Sep 23 12:09:10 GMT 2015
I'm thinking about ways to add a field to any entity module which
displays a value from the libertus_geotools geocoder database...
For example if the Administrator clicked a button to add this field the
vtlib code would be something like this:
> $field = new Vtiger_Field();
> $field->name = 'lsisgeocoded';
> $field->column = 'lat';
> $field->table = 'libertus_geotools';
> $field->label = 'Geocoded';
> $field->columntype = 'VARCHAR(3)';
> $field->uitype = 56;
> $field->typeofdata = 'C~O';
> $field->displaytype = 2;
> $block->addField($field);
Basically a simple read-only checkbox.
But of course, I need to inform the query generator that it now needs to
add a LEFT JOIN ON libertus_geotools.crmid to be able to retrieve the
data from the "lat" column.
As far as I can tell this is only done in the module's class file using
the two vars mentioned in the subject.
Is there another way I could achieve this? I want the Administrator to
be able to add or remove this field on any of their modules as they
wish. I want them to be able to use this value to be able to find
records that are either geocoded, or not, using any of their existing,
or newly created filters.
I _know_ I could do this by adding a new field and column to the module
itself and then keep the value updated using an Event Handler or
something but I was just wondering if I could this a bit more efficiently?
TIA
Al
More information about the vtigercrm-developers
mailing list