Hi all.<br><br>I&#39;m still checking where is the break point when i save a new record from new module.<br><br>in function &#39;checkFileAccessForInclusion&#39;  of file &#39;&lt;rootVtiger&gt;//include/utils/CommonUtils.php&#39; i edited the code:<br>

<br>function checkFileAccessForInclusion($filepath) {<br>    global $root_directory;<br>    <br>    echo &quot;Path is. &quot;.$filepath;<br><br>So, i can see the files that are invoked, and got this<br><br>Path is: include/language/es_es.lang.php<br>



 Path is: modules/Beneficiarios/Beneficiarios.php Path is: modules//.phpSorry! Attempt to access restricted file.<br><br>So, somewhere the path results to &#39; modules//&#39; ; it comes from file &#39;&lt;rootVtiger&gt;/data/CRMEntity.php&#39; in function &#39;static function getInstance($module)&#39;.<br>

<br>Any <span id="result_box" class="short_text" lang="en"><span class="hps">recommendation</span></span>?<br><br>Thanks.<br><br><br><div class="gmail_quote">El 23 de agosto de 2012 23:17, Juan Pablo Botero <span dir="ltr">&lt;<a href="mailto:juanpabloboterolopez@gmail.com" target="_blank">juanpabloboterolopez@gmail.com</a>&gt;</span> escribió:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello.<br><br>I had modified the file php to make the module &#39;Beneficiarios&#39; , the result is the same:<div class="im">

<br><br>include_once(&#39;./vtlib/Vtiger/Module.php&#39;);<br> include_once(&#39;./vtlib/Vtiger/Menu.php&#39;);<br>
 <br> $modulo = new Vtiger_module();<br> $modulo-&gt;name = &#39;Beneficiarios&#39;;<br> $modulo-&gt;save();<br></div> /*<br>  * código para Habilitar el módulo para web Services<br>  * No se habilita ya que no se necesita aún<br>


  */<br> $modulo-&gt;initWebService();<br> <br> // Iniciar o crear las tablas requeridas para el nuevo módulo:<br> $modulo-&gt;initTables();<br> <br> // Agregar el menú del sistema<div class="im"><br> $menu = Vtiger_Menu :: getInstance(&#39;Sales&#39;);<br>


 $menu-&gt;addModule($modulo);<br><br> /**<br></div>  * BLOQUE DE LOS DATOS BÁSICOS<div class="im"><br>  */<br>  <br> $bloqueDatosBasicos = new Vtiger_Block();<br> $bloqueDatosBasicos-&gt;label = &#39;LBL_BENEFICIARIO_INFORMATION&#39;;<br>

 $modulo-&gt;addBlock($bloqueDatosBasicos);<br>
 <br> /**<br></div>  * BLOQUE DE LOS DATOS EXTRA<div class="im"><br>  */<br> $bloqueDatosExtra = new Vtiger_Block();<br> $bloqueDatosExtra-&gt;label = &#39;LBL_CUSTOM_INFORMATION&#39;;<br> $modulo-&gt;addBlock($bloqueDatosExtra);<br>

 <br> /**<br></div>
  * CREACIÓN DE LOS CAMPOS DEL MÓDULO<div class="im"><br>  */<br>  <br> $campoNombre = new Vtiger_Field();<br></div> $campoNombre-&gt;name = &#39;nombre_beneficiario&#39;;<br> $campoNombre-&gt;label = &#39;Nombre&#39;; <br>

 // Campos de la base de datos<br>
 $campoNombre-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br> $campoNombre-&gt;column = &#39;nombre_beneficiario&#39;;<div class="im"><br> $campoNombre-&gt;columntype = &#39;VARCHAR(100)&#39;;<br>


 $campoNombre-&gt;uitype = 2;<br> $campoNombre-&gt;typeofdata = &#39;V~M&#39;; <br> $bloqueDatosBasicos-&gt;addField($campoNombre);<br></div> $modulo-&gt;setEntityIdentifier($campoNombre);<br> <br> // Telefóno Fijo<br> $campoTelfijo = new Vtiger_Field();<br>


 $campoTelfijo-&gt;name = &#39;telfijo_beneficiario&#39;;<br> $campoTelfijo-&gt;label = &#39;Teléfono Fijo&#39;;<br> $campoTelfijo-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br> $campoTelfijo-&gt;column = &#39;telfijo_beneficiario&#39;;<br>


 $campoTelfijo-&gt;columntype = &#39;VARCHAR(20)&#39;;<br> $campoTelfijo-&gt;uitype = 2;<br> $campoTelfijo-&gt;typeofdata = &#39;V~M&#39;; <br> $bloqueDatosBasicos-&gt;addField($campoTelfijo); <br><div class="im"> // el nombre del campo como identificador de campo<br>

</div>
 $modulo-&gt;setEntityIdentifier($campoTelfijo);<br> <br> // Telefóno movil<br> $campoTelMovil = new Vtiger_Field();<br> $campoTelMovil-&gt;name = &#39;telmovil_beneficiario&#39;;<div class="im"><br> $campoTelMovil-&gt;label = &#39;Telefono movil&#39;;<br>

</div>
 $campoTelMovil-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br> $campoTelMovil-&gt;column = &#39;telmovil_beneficiario&#39;;<br> $campoTelMovil-&gt;columntype = &#39;VARCHAR(20)&#39;;<div class="im">

<br>
 $campoTelMovil-&gt;uitype = 2;<br> $campoTelMovil-&gt;typeofdata = &#39;V~O&#39;; <br> $bloqueDatosBasicos-&gt;addField($campoTelMovil);<br> $modulo-&gt;setEntityIdentifier($campoTelMovil);<br> <br></div> // Número Cedúla<br>

 $campoCedula = new Vtiger_Field();<br>
 $campoCedula-&gt;name = &#39;cedula_beneficiario&#39;;<br> $campoCedula-&gt;label = &#39;Cedúla&#39;;<br> $campoCedula-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br> $campoCedula-&gt;column = &#39;cedula_beneficiario&#39;;<br>


 $campoCedula-&gt;columntype = &#39;VARCHAR(100)&#39;;<div class="im"><br> $campoCedula-&gt;uitype = 2;<br> $campoCedula-&gt;typeofdata = &#39;V~O&#39;; <br> $bloqueDatosBasicos-&gt;addField($campoCedula); <br></div><div class="im">

 // el nombre del campo como identificador de campo<br></div>
 $modulo-&gt;setEntityIdentifier($campoCedula);<br> <br> // Ciudad Domicilio<br> $campoCiudad= new Vtiger_Field();<br> $campoCiudad-&gt;name = &#39;ciudad_beneficiario&#39;;<br> $campoCiudad-&gt;label = &#39;Ciudad&#39;;<br>


 $campoCiudad-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br> $campoCiudad-&gt;column = &#39;ciudad_beneficiario&#39;;<div class="im"><br> $campoCiudad-&gt;columntype = &#39;VARCHAR(255)&#39;;<br>


 $campoCiudad-&gt;uitype = 1;<br> $campoCiudad-&gt;typeofdata = &#39;V~O&#39;; <br> $bloqueDatosBasicos-&gt;addField($campoCiudad); <br> // el nombre del campo como identificador de campo<br> $modulo-&gt;setEntityIdentifier($campoCiudad);<br>


<br></div>// Departamento Domicilio<br> $campoDepartamento= new Vtiger_Field();<br> $campoDepartamento-&gt;name = &#39;departamento_beneficiario&#39;;<br> $campoDepartamento-&gt;label = &#39;Departamento&#39;;<br> $campoDepartamento-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br>


 $campoDepartamento-&gt;column = &#39;departamento_beneficiario&#39;;<div class="im"><br> $campoDepartamento-&gt;columntype = &#39;VARCHAR(255)&#39;;<br> $campoDepartamento-&gt;uitype = 1;<br> $campoDepartamento-&gt;typeofdata = &#39;V~O&#39;; <br>


 $bloqueDatosBasicos-&gt;addField($campoDepartamento); <br> // el nombre del campo como identificador de campo<br> $modulo-&gt;setEntityIdentifier($campoDepartamento);<br><br></div> /**<br>  * Bloque de dato extra<br>  */<br>

 // Fecha de Nacimiento<br>
 $campoNacimiento= new Vtiger_Field();<br> $campoNacimiento-&gt;name = &#39;nacimiento_beneficiario&#39;;<div class="im"><br> $campoNacimiento-&gt;label = &#39;Fecha de nacimiento&#39;;<br> $campoNacimiento-&gt;table = &#39;vtiger_crmentity&#39;;<br>

</div>
 $campoNacimiento-&gt;column = &#39;nacimiento_beneficiario&#39;;<br> $campoNacimiento-&gt;columntype = &#39;DATE&#39;;<br> $campoNacimiento-&gt;uitype = 5;<br> $campoNacimiento-&gt;typeofdata = &#39;D~O&#39;; <br> $bloqueDatosExtra-&gt;addField($campoNacimiento); <br>

<div class="im">
 // el nombre del campo como identificador de campo<br> $modulo-&gt;setEntityIdentifier($campoNacimiento);<br> <br></div> // Dirección Domicilio<br> $campoDireccion= new Vtiger_Field();<br> $campoDireccion-&gt;name = &#39;direccion_beneficiario&#39;;<div class="im">

<br>
 $campoDireccion-&gt;label = &#39;Dirección Domicilio&#39;;<br></div> $campoDireccion-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br> $campoDireccion-&gt;column = &#39;direccion_Beneficiario&#39;;<br>


 $campoDireccion-&gt;columntype = &#39;VARCHAR(255)&#39;;<br> $campoDireccion-&gt;uitype = 1;<br> $campoDireccion-&gt;typeofdata = &#39;V~O&#39;; <br> $bloqueDatosExtra-&gt;addField($campoDireccion); <br><div class="im">

 // el nombre del campo como identificador de campo<br></div>
 $modulo-&gt;setEntityIdentifier($campoDireccion);<br> <br> // Indicaciones Dirección Domicilio<br> $campoIndicacion= new Vtiger_Field();<br> $campoIndicacion-&gt;name = &#39;indicacion_direccion_beneficiario&#39;;<div class="im">

<br> $campoIndicacion-&gt;label = &#39;Indicación Dirección&#39;;<br></div>
 $campoIndicacion-&gt;table = $modulo-&gt;basetable; // indica que el campo estará en la base de datos<br> $campoIndicacion-&gt;column = &#39;indicacion_direccion_beneficiario&#39;;<br> $campoIndicacion-&gt;columntype = &#39;VARCHAR(255)&#39;;<br>


 $campoIndicacion-&gt;uitype = 24;<br> $campoIndicacion-&gt;typeofdata = &#39;V~O&#39;; <br> $bloqueDatosExtra-&gt;addField($campoIndicacion); <br><div class="im"> // el nombre del campo como identificador de campo<br> $modulo-&gt;setEntityIdentifier($campoIndicacion);<br>


 <br> /* <br></div>  * CAMPOS RELACIONADOS<br>  */<br> <br> // Relación con Cuentas<br> $campoCampana= new Vtiger_Field();<br> $campoCampana-&gt;name = &#39;campana_relacionada&#39;;<br> $campoCampana-&gt;label = &#39;Campaña&#39;;<br>


 $campoCampana-&gt;column = &#39;campana_relacionada&#39;;<br> $campoCampana-&gt;columntype = &#39;VARCHAR(100)&#39;;<br> $campoCampana-&gt;uitype = 10;<br> $campoCampana-&gt;typeofdata = &#39;V~O&#39;;<br> $campoCampana-&gt;helpinfo = &#39;Relación con una campaña existente&#39;;<br>


 <br> $bloqueDatosBasicos-&gt;addField($campoCampana);<br> $campoCampana-&gt;setRelatedModules(Array(&#39;Campaigns&#39;));<div class="im"><br> <br> //$modulo-&gt;setRelatedModules(Array(&#39;Accounts&#39;));<br><br> /**<br>

</div>  * Campo de asignación<div class="im"><br>
  */<br>  $campoAsignado = new Vtiger_Field();<br>  $campoAsignado-&gt;name = &#39;id_usuario_asignado&#39;;<br>  $campoAsignado-&gt;label = &#39;Asignado a&#39;;<br>  $campoAsignado-&gt;table = &#39;vtiger_crmentity&#39;;<br>


  $campoAsignado-&gt;column = &#39;smownerid&#39;;<br>  $campoAsignado-&gt;uitype = 53;<br>  $campoAsignado-&gt;typeofdata = &#39;V~O&#39;;<br>  $bloqueDatosExtra-&gt;addField($campoAsignado);<br> <br> /*<br></div>  * Filtros<div class="im">

<br>
  */<br><br>  $filtro1 = new Vtiger_Filter();<br>  $filtro1-&gt;name = &#39;Todo&#39;;<br>  $filtro1-&gt;isdefault = true;<br>   <br></div><div class="im">  // Campos del filtro1<br>  $filtro1-&gt;addField($campoNombre);<br>

</div>  $filtro1-&gt;addField($campoCedula);<br>
  //$filtro1-&gt;addField($campoApellido);<br>  $filtro1-&gt;addField($campoTelfijo);<br>  $filtro1-&gt;addField($campoTelMovil);<br>  $filtro1-&gt;addField($campoDireccion);<br>  $filtro1-&gt;addField($campoCiudad);<br>

  $filtro1-&gt;addField($campoDepartamento);<br>
  $modulo-&gt;addFilter($filtro1);  <br><div class="im">  // Cambiar vista del módulo a privada<br>  $modulo-&gt;setDefaultSharing(&#39;Private&#39;);<br>  <br>  /**<br></div>   * Listas relacionadas<br>   * Las listas se muestran en la pestaña &#39;mas información&#39;<br>


   */<br>   $moduloActividades = Vtiger_Module::getInstance(&#39;Activities&#39;);<br>   $etiquetaRelacion = &#39;Actividades&#39;;<div class="im"><br>   $modulo-&gt;setRelatedList($moduloCuentas, $etiquetaRelacion, Array(&#39;ADD&#39;, &#39;SELECT&#39;));<br>


  <br></div>   //$moduloActividades = Vtiger_Module::getInstance(&#39;Activities&#39;);<br>  /**<br>   * Herramientas de módulo<br>   * Habilita la importación, exportación<br>   * deshabilita la mezcla<br>   */<div class="im">

<br>  $modulo-&gt;enableTools(Array(&#39;Import&#39;, &#39;Export&#39;));<br>
  $modulo-&gt;disableTools(&#39;Merge&#39;);<br><br><br></div>Thanks.<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">2012/8/22 Joe Bordes <span dir="ltr">&lt;<a href="mailto:joe@tsolucio.com" target="_blank">joe@tsolucio.com</a>&gt;</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>Yes<div><div><br>
      <br>
      <br>
      On 22/08/12 19:02, Juan Pablo Botero wrote:<br>
    </div></div></div>
    <blockquote type="cite"><div><div>underlines are good?<br>
      <br>
      $campoNombre-&gt;column = &#39;nombre_beneficiario&#39;;<br>
      <br>
      <div class="gmail_quote">2012/8/22 Joe Bordes <span dir="ltr">&lt;<a href="mailto:joe@tsolucio.com" target="_blank">joe@tsolucio.com</a>&gt;</span><br>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Column and
          Fields cannot have capital letters<br>
          <br>
          <br>
          <br>
          On 22/08/12 17:08, Juan Pablo Botero wrote:<br>
          &gt;  $campoNombre-&gt;column = &#39;nombreBeneficiario&#39;;<br>
          <br>
          _______________________________________________<br>
          <a href="http://www.vtiger.com/" target="_blank">http://www.vtiger.com/</a><br>
        </blockquote>
      </div>
      <br>
      <br clear="all">
      <br>
      -- <br>
      Cordialmente:<br>
      Juan Pablo Botero<br>
      Administrador de Sistemas informáticos<br>
      Fedora Ambassador for Colombia
      <div><a href="http://www.jpilldev.net" target="_blank">http://www.jpilldev.net</a><br>
      </div>
      <br>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
<a href="http://www.vtiger.com/" target="_blank">http://www.vtiger.com/</a></pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
<a href="http://www.vtiger.com/" target="_blank">http://www.vtiger.com/</a><br></blockquote></div><br><br clear="all"><br>-- <br>Cordialmente:<br>Juan Pablo Botero<br>Administrador de Sistemas informáticos<br>Fedora Ambassador for Colombia<div>


<a href="http://www.jpilldev.net" target="_blank">http://www.jpilldev.net</a><br></div><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Cordialmente:<br>Juan Pablo Botero<br>Administrador de Sistemas informáticos<br>Fedora Ambassador for Colombia<div><a href="http://www.jpilldev.net" target="_blank">http://www.jpilldev.net</a><br>

</div><br>