[Vtigercrm-developers] Error trying to save a new Record of a new Custom module

Juan Pablo Botero juanpabloboterolopez at gmail.com
Sat Aug 25 19:32:14 PDT 2012


Hi all.

I'm still checking where is the break point when i save a new record from
new module.

in function 'checkFileAccessForInclusion'  of file
'<rootVtiger>//include/utils/CommonUtils.php' i edited the code:

function checkFileAccessForInclusion($filepath) {
    global $root_directory;

    echo "Path is. ".$filepath;

So, i can see the files that are invoked, and got this

Path is: include/language/es_es.lang.php
Path is: modules/Beneficiarios/Beneficiarios.php Path is:
modules//.phpSorry! Attempt to access restricted file.

So, somewhere the path results to ' modules//' ; it comes from file
'<rootVtiger>/data/CRMEntity.php' in function 'static function
getInstance($module)'.

Any recommendation?

Thanks.


El 23 de agosto de 2012 23:17, Juan Pablo Botero <
juanpabloboterolopez at gmail.com> escribió:

> Hello.
>
> I had modified the file php to make the module 'Beneficiarios' , the
> result is the same:
>
>
> include_once('./vtlib/Vtiger/Module.php');
>  include_once('./vtlib/Vtiger/Menu.php');
>
>  $modulo = new Vtiger_module();
>  $modulo->name = 'Beneficiarios';
>  $modulo->save();
>  /*
>   * código para Habilitar el módulo para web Services
>   * No se habilita ya que no se necesita aún
>   */
>  $modulo->initWebService();
>
>  // Iniciar o crear las tablas requeridas para el nuevo módulo:
>  $modulo->initTables();
>
>  // Agregar el menú del sistema
>
>  $menu = Vtiger_Menu :: getInstance('Sales');
>  $menu->addModule($modulo);
>
>  /**
>   * BLOQUE DE LOS DATOS BÁSICOS
>
>   */
>
>  $bloqueDatosBasicos = new Vtiger_Block();
>  $bloqueDatosBasicos->label = 'LBL_BENEFICIARIO_INFORMATION';
>  $modulo->addBlock($bloqueDatosBasicos);
>
>  /**
>   * BLOQUE DE LOS DATOS EXTRA
>
>   */
>  $bloqueDatosExtra = new Vtiger_Block();
>  $bloqueDatosExtra->label = 'LBL_CUSTOM_INFORMATION';
>  $modulo->addBlock($bloqueDatosExtra);
>
>  /**
>   * CREACIÓN DE LOS CAMPOS DEL MÓDULO
>
>   */
>
>  $campoNombre = new Vtiger_Field();
>  $campoNombre->name = 'nombre_beneficiario';
>  $campoNombre->label = 'Nombre';
>  // Campos de la base de datos
>  $campoNombre->table = $modulo->basetable; // indica que el campo estará
> en la base de datos
>  $campoNombre->column = 'nombre_beneficiario';
>
>  $campoNombre->columntype = 'VARCHAR(100)';
>  $campoNombre->uitype = 2;
>  $campoNombre->typeofdata = 'V~M';
>  $bloqueDatosBasicos->addField($campoNombre);
>  $modulo->setEntityIdentifier($campoNombre);
>
>  // Telefóno Fijo
>  $campoTelfijo = new Vtiger_Field();
>  $campoTelfijo->name = 'telfijo_beneficiario';
>  $campoTelfijo->label = 'Teléfono Fijo';
>  $campoTelfijo->table = $modulo->basetable; // indica que el campo estará
> en la base de datos
>  $campoTelfijo->column = 'telfijo_beneficiario';
>  $campoTelfijo->columntype = 'VARCHAR(20)';
>  $campoTelfijo->uitype = 2;
>  $campoTelfijo->typeofdata = 'V~M';
>  $bloqueDatosBasicos->addField($campoTelfijo);
>  // el nombre del campo como identificador de campo
>   $modulo->setEntityIdentifier($campoTelfijo);
>
>  // Telefóno movil
>  $campoTelMovil = new Vtiger_Field();
>  $campoTelMovil->name = 'telmovil_beneficiario';
>
>  $campoTelMovil->label = 'Telefono movil';
>   $campoTelMovil->table = $modulo->basetable; // indica que el campo
> estará en la base de datos
>  $campoTelMovil->column = 'telmovil_beneficiario';
>  $campoTelMovil->columntype = 'VARCHAR(20)';
>
>  $campoTelMovil->uitype = 2;
>  $campoTelMovil->typeofdata = 'V~O';
>  $bloqueDatosBasicos->addField($campoTelMovil);
>  $modulo->setEntityIdentifier($campoTelMovil);
>
>  // Número Cedúla
>  $campoCedula = new Vtiger_Field();
>  $campoCedula->name = 'cedula_beneficiario';
>  $campoCedula->label = 'Cedúla';
>  $campoCedula->table = $modulo->basetable; // indica que el campo estará
> en la base de datos
>  $campoCedula->column = 'cedula_beneficiario';
>  $campoCedula->columntype = 'VARCHAR(100)';
>
>  $campoCedula->uitype = 2;
>  $campoCedula->typeofdata = 'V~O';
>  $bloqueDatosBasicos->addField($campoCedula);
>  // el nombre del campo como identificador de campo
>  $modulo->setEntityIdentifier($campoCedula);
>
>  // Ciudad Domicilio
>  $campoCiudad= new Vtiger_Field();
>  $campoCiudad->name = 'ciudad_beneficiario';
>  $campoCiudad->label = 'Ciudad';
>  $campoCiudad->table = $modulo->basetable; // indica que el campo estará
> en la base de datos
>  $campoCiudad->column = 'ciudad_beneficiario';
>
>  $campoCiudad->columntype = 'VARCHAR(255)';
>  $campoCiudad->uitype = 1;
>  $campoCiudad->typeofdata = 'V~O';
>  $bloqueDatosBasicos->addField($campoCiudad);
>  // el nombre del campo como identificador de campo
>  $modulo->setEntityIdentifier($campoCiudad);
>
> // Departamento Domicilio
>  $campoDepartamento= new Vtiger_Field();
>  $campoDepartamento->name = 'departamento_beneficiario';
>  $campoDepartamento->label = 'Departamento';
>  $campoDepartamento->table = $modulo->basetable; // indica que el campo
> estará en la base de datos
>  $campoDepartamento->column = 'departamento_beneficiario';
>
>  $campoDepartamento->columntype = 'VARCHAR(255)';
>  $campoDepartamento->uitype = 1;
>  $campoDepartamento->typeofdata = 'V~O';
>  $bloqueDatosBasicos->addField($campoDepartamento);
>  // el nombre del campo como identificador de campo
>  $modulo->setEntityIdentifier($campoDepartamento);
>
>  /**
>   * Bloque de dato extra
>   */
>  // Fecha de Nacimiento
>  $campoNacimiento= new Vtiger_Field();
>  $campoNacimiento->name = 'nacimiento_beneficiario';
>
>  $campoNacimiento->label = 'Fecha de nacimiento';
>  $campoNacimiento->table = 'vtiger_crmentity';
>   $campoNacimiento->column = 'nacimiento_beneficiario';
>  $campoNacimiento->columntype = 'DATE';
>  $campoNacimiento->uitype = 5;
>  $campoNacimiento->typeofdata = 'D~O';
>  $bloqueDatosExtra->addField($campoNacimiento);
>   // el nombre del campo como identificador de campo
>  $modulo->setEntityIdentifier($campoNacimiento);
>
>  // Dirección Domicilio
>  $campoDireccion= new Vtiger_Field();
>  $campoDireccion->name = 'direccion_beneficiario';
>
>  $campoDireccion->label = 'Dirección Domicilio';
>  $campoDireccion->table = $modulo->basetable; // indica que el campo
> estará en la base de datos
>  $campoDireccion->column = 'direccion_Beneficiario';
>  $campoDireccion->columntype = 'VARCHAR(255)';
>  $campoDireccion->uitype = 1;
>  $campoDireccion->typeofdata = 'V~O';
>  $bloqueDatosExtra->addField($campoDireccion);
>  // el nombre del campo como identificador de campo
>  $modulo->setEntityIdentifier($campoDireccion);
>
>  // Indicaciones Dirección Domicilio
>  $campoIndicacion= new Vtiger_Field();
>  $campoIndicacion->name = 'indicacion_direccion_beneficiario';
>
>  $campoIndicacion->label = 'Indicación Dirección';
>  $campoIndicacion->table = $modulo->basetable; // indica que el campo
> estará en la base de datos
>  $campoIndicacion->column = 'indicacion_direccion_beneficiario';
>  $campoIndicacion->columntype = 'VARCHAR(255)';
>  $campoIndicacion->uitype = 24;
>  $campoIndicacion->typeofdata = 'V~O';
>  $bloqueDatosExtra->addField($campoIndicacion);
>  // el nombre del campo como identificador de campo
>  $modulo->setEntityIdentifier($campoIndicacion);
>
>  /*
>   * CAMPOS RELACIONADOS
>   */
>
>  // Relación con Cuentas
>  $campoCampana= new Vtiger_Field();
>  $campoCampana->name = 'campana_relacionada';
>  $campoCampana->label = 'Campaña';
>  $campoCampana->column = 'campana_relacionada';
>  $campoCampana->columntype = 'VARCHAR(100)';
>  $campoCampana->uitype = 10;
>  $campoCampana->typeofdata = 'V~O';
>  $campoCampana->helpinfo = 'Relación con una campaña existente';
>
>  $bloqueDatosBasicos->addField($campoCampana);
>  $campoCampana->setRelatedModules(Array('Campaigns'));
>
>
>  //$modulo->setRelatedModules(Array('Accounts'));
>
>  /**
>   * Campo de asignación
>
>   */
>   $campoAsignado = new Vtiger_Field();
>   $campoAsignado->name = 'id_usuario_asignado';
>   $campoAsignado->label = 'Asignado a';
>   $campoAsignado->table = 'vtiger_crmentity';
>   $campoAsignado->column = 'smownerid';
>   $campoAsignado->uitype = 53;
>   $campoAsignado->typeofdata = 'V~O';
>   $bloqueDatosExtra->addField($campoAsignado);
>
>  /*
>   * Filtros
>
>   */
>
>   $filtro1 = new Vtiger_Filter();
>   $filtro1->name = 'Todo';
>   $filtro1->isdefault = true;
>
>   // Campos del filtro1
>   $filtro1->addField($campoNombre);
>   $filtro1->addField($campoCedula);
>   //$filtro1->addField($campoApellido);
>   $filtro1->addField($campoTelfijo);
>   $filtro1->addField($campoTelMovil);
>   $filtro1->addField($campoDireccion);
>   $filtro1->addField($campoCiudad);
>   $filtro1->addField($campoDepartamento);
>   $modulo->addFilter($filtro1);
>   // Cambiar vista del módulo a privada
>   $modulo->setDefaultSharing('Private');
>
>   /**
>    * Listas relacionadas
>    * Las listas se muestran en la pestaña 'mas información'
>    */
>    $moduloActividades = Vtiger_Module::getInstance('Activities');
>    $etiquetaRelacion = 'Actividades';
>
>    $modulo->setRelatedList($moduloCuentas, $etiquetaRelacion, Array('ADD',
> 'SELECT'));
>
>    //$moduloActividades = Vtiger_Module::getInstance('Activities');
>   /**
>    * Herramientas de módulo
>    * Habilita la importación, exportación
>    * deshabilita la mezcla
>    */
>
>   $modulo->enableTools(Array('Import', 'Export'));
>   $modulo->disableTools('Merge');
>
>
> Thanks.
>
>
> 2012/8/22 Joe Bordes <joe at tsolucio.com>
>
>>  Yes
>>
>>
>>
>> On 22/08/12 19:02, Juan Pablo Botero wrote:
>>
>> underlines are good?
>>
>> $campoNombre->column = 'nombre_beneficiario';
>>
>> 2012/8/22 Joe Bordes <joe at tsolucio.com>
>>
>>> Column and Fields cannot have capital letters
>>>
>>>
>>>
>>> On 22/08/12 17:08, Juan Pablo Botero wrote:
>>> >  $campoNombre->column = 'nombreBeneficiario';
>>>
>>> _______________________________________________
>>> http://www.vtiger.com/
>>>
>>
>>
>>
>> --
>> Cordialmente:
>> Juan Pablo Botero
>> Administrador de Sistemas informáticos
>> Fedora Ambassador for Colombia
>> http://www.jpilldev.net
>>
>>
>>
>> _______________________________________________http://www.vtiger.com/
>>
>>
>>
>> _______________________________________________
>> http://www.vtiger.com/
>>
>
>
>
> --
> Cordialmente:
> Juan Pablo Botero
> Administrador de Sistemas informáticos
> Fedora Ambassador for Colombia
> http://www.jpilldev.net
>
>


-- 
Cordialmente:
Juan Pablo Botero
Administrador de Sistemas informáticos
Fedora Ambassador for Colombia
http://www.jpilldev.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20120825/f0015b8b/attachment-0001.html 


More information about the vtigercrm-developers mailing list