CoreBOSBB
problemas añadir addActionLink.php - Printable Version

+- CoreBOSBB (https://discussions.corebos.org)
+-- Forum: Support (https://discussions.corebos.org/forumdisplay.php?fid=17)
+--- Forum: User Support (https://discussions.corebos.org/forumdisplay.php?fid=6)
+--- Thread: problemas añadir addActionLink.php (/showthread.php?tid=1529)

Pages: 1 2


problemas añadir addActionLink.php - construmet4 - 07-01-2019

Buenos días

Intento hacer un boton personalizado con el archivo addActionLink.php para que recoja unos datos del módulo Contacts, para que los utilice para rellenar de forma automática en otro módulo llamado LlamadasRecibidas, el id de Cuenta y el id de Asginado a, pero cuanto ejecuto el archivo php para generar el link me aparece el siguiente error

Fatal error: Call to undefined method stdClass::getPrivileges() in /home/xxx/public_html/Corebos/include/utils/UserInfoUtil.php on line 3409

Alguna idea de qué es lo que estoy haciendo mal?

En el archivo addActionLink.php, he añadido lo siguiente:


$mod_acc = Vtiger_Module::getInstance('Contacts');
$asRecibidas&action=EditView&cbfromid=$RECORD$');


RE: problemas añadir addActionLink.php - joebordes - 07-01-2019

Seguramente te falta definir el usuario actual con este trozo de código después de cargar Module.php

error_reporting(E_ALL);
ini_set('display_errors', 1);
$usr = new Users();
$current_user = Users::getActiveAdminUser();


pero recuerda que ahora ya no hace falta crear acciones mediante código, desde hace muchos meses se ha movido esta funcionalidad a la aplicación. Ves al módulo Business Actions (Acciones de Negocio) donde podrás crear acciones de manera sencilla


RE: problemas añadir addActionLink.php - construmet4 - 07-01-2019

Ok ha funcionado muy bien para crear el actionlink la opción de Acciones de Negocio, pero ahora las variables no pasan en el formulario aunque ahora el link si que funciona bien e identifica el número de id del contacto en cuestion

http://xxx.net/Corebos/index.php?module=LlamadasRecibidas&action=EditView&cbfromid=8324

Tengo el mapa de negocio realizado

<map>
<originmodule>
<originname>Contacts</originname>
</originmodule>
<targetmodule>
<targetname>LlamadasRecibidas</targetname>
</targetmodule>
<fields>
<field>
<fieldname>cf_1151</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>record_id</OrgfieldName>
</Orgfield>
</Orgfields>
</field>
<field>
<fieldname>assigned_user_id</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>assigned_user_id</OrgfieldName>
</Orgfield>
</Orgfields>
</field>
<field>
<fieldname>cf_1138</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>account_id</OrgfieldName>
</Orgfield>
</Orgfields>
</field>
</fields>
</map>

Que puede estar pasando?


RE: problemas añadir addActionLink.php - joebordes - 07-01-2019

prueba añadiendo <OrgFieldId> creo que es obligatorio ahora


RE: problemas añadir addActionLink.php - construmet4 - 07-01-2019

Lo acabo de añadir, pero no me funciona igual
Así es como me ha quedado

<map>
<originmodule>
<originname>Contacts</originname>
</originmodule>
<targetmodule>
<targetname>LlamadasRecibidas</targetname>
</targetmodule>
<fields>
<field>
<fieldname>cf_1151</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>record_id</OrgfieldName>
<OrgfieldID>778</OrgfieldID>
</Orgfield>
</Orgfields>
</field>
<field>
<fieldname>assigned_user_id</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>assigned_user_id</OrgfieldName>
<OrgfieldID>FIELD</OrgfieldID>
</Orgfield>
</Orgfields>
</field>
<field>
<fieldname>cf_1138</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>account_id</OrgfieldName>
<OrgfieldID>8</OrgfieldID>
</Orgfield>
</Orgfields>
</field>
</fields>
</map>


RE: problemas añadir addActionLink.php - joebordes - 07-01-2019

OrgFieldID = FIELD

¿tu módulo está al día para soportar esta funcionalidad?


RE: problemas añadir addActionLink.php - construmet4 - 07-01-2019

No es un módulo muy complejo, pero la verdad es que está hecho con la carpeta vtlib/Moduledir

Qué tengo que hacer para que funcione correctamente?, los OrgFieldID los he sacado de otros ejemplos, ya que no sé de donde sacarlos


RE: problemas añadir addActionLink.php - joebordes - 07-01-2019

OrgFieldID=FIELD en tu caso porque solo quieres copiar campos

asegurate que los ficheros están al día con la ultima versión de ModuleDir, especialmente EditView.php, pero esto no tiene más, es así de sencillo

prueba rellenando el campo description con un texto constante

<field>
<fieldname>description</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>un texto</OrgfieldName>
<OrgfieldID>CONST</OrgfieldID>
</Orgfield>
</Orgfields>
</field>

solo para ver si el problema está en el mapa o en la definicion de los campos


RE: problemas añadir addActionLink.php - construmet4 - 07-02-2019

No he tenido resultados, el campo descripción no se ha rellenado con la constante.
Lo que tengo que hacer es llenar los campos contato, cuenta y asignado a que son 3 campos relacionados con los modulos Contacts y Accounts, desde el módulo Contacts, o bien con el boton que ya he creado de ActionLink, o bien por medio del bloque del módulo LlamadasRecibidas que tengo configurado que aparezca en el módulo Contacts, pero que aprentando a añadir nueva llamada, sólo me traspasa el campo Contacto, no me pasa ni el campo Cuenta ni el campo Asignado a

Aquí el mapa que he creado nuevo

<map>
<originmodule>
<originname>Contacts</originname>
</originmodule>
<targetmodule>
<targetname>LlamadasRecibidas</targetname>
</targetmodule>
<fields>
<field>
<fieldname>cf_1151</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>record_id</OrgfieldName>
<OrgfieldID>778</OrgfieldID>
</Orgfield>
</Orgfields>
</field>
<field>
<fieldname>assigned_user_id</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>assigned_user_id</OrgfieldName>
<OrgfieldID>FIELD</OrgfieldID>
</Orgfield>
</Orgfields>
</field>
<field>
<fieldname>cf_1138</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>account_id</OrgfieldName>
<OrgfieldID>8</OrgfieldID>
</Orgfield>
</Orgfields>
</field>
<field>
<fieldname>description</fieldname>
<Orgfields>
<Orgfield>
<OrgfieldName>texto de prueba</OrgfieldName>
<OrgfieldID>CONST</OrgfieldID>
</Orgfield>
</Orgfields>
</field>
</fields>
</map>

¿Hay alguna otra forma de pasar esas variables sin necesidad de los mapas de negocio? algo he leido de modificar el fichero EditView.php del modulo de destino, pero no se bien cómo tengo que hacerlo, ¿Es posible?, ¿tienes algún ejemplo? en total necesito pasar 3 variables, el campo Cuenta, el campo Contacto, y el campo Asignado a desde el módulo Contacts.


RE: problemas añadir addActionLink.php - joebordes - 07-02-2019

Acabo de copiar tu mapa a la demo y basicamente ha funcionado sin más

tienes el nombre correcto del mapa?

http://demo.corebos.com/index.php?module=cbMap&action=DetailView&viewname=0&start=&record=43298&;