Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 539,609
» Latest member: nuallanozz
» Forum threads: 1,745
» Forum posts: 9,084

Full Statistics

Online Users
There are currently 3 online users.
» 0 Member(s) | 1 Guest(s)
Bing, Google

Latest Threads
Finetuning the way you se...
Forum: coreBOS Development
Last Post: alexandy40d
12-06-2024, 07:38 AM
» Replies: 4
» Views: 8,148
MariaDB Version
Forum: Administrator Support
Last Post: joebordes
11-01-2024, 11:49 AM
» Replies: 1
» Views: 659
Product Catalog / parts c...
Forum: Modules/Extension Support
Last Post: joebordes
09-15-2024, 09:40 AM
» Replies: 1
» Views: 1,120
Challenges and Best Pract...
Forum: coreBOS Development
Last Post: wishforbes
08-30-2024, 04:21 PM
» Replies: 0
» Views: 730
PRODUCTS IN ACCOUNTS BY O...
Forum: User Support
Last Post: jonathanmoore858
08-03-2024, 04:14 PM
» Replies: 4
» Views: 2,787
Zapier | Integration
Forum: Modules/Extension Support
Last Post: bernardgbailey
07-29-2024, 11:45 PM
» Replies: 7
» Views: 9,874
Versión PHP recomendada
Forum: International
Last Post: joebordes
07-04-2024, 05:42 PM
» Replies: 7
» Views: 3,365
Could Someone Give me Adv...
Forum: Open Discussions
Last Post: joebordes
06-27-2024, 08:32 AM
» Replies: 1
» Views: 1,717
RESTRICTED FILE
Forum: Administrator Support
Last Post: inspectorflint
06-22-2024, 08:08 AM
» Replies: 7
» Views: 5,697
GENDOC imágenes
Forum: Open Discussions
Last Post: joebordes
06-02-2024, 05:11 PM
» Replies: 4
» Views: 2,056

 
  Migrating 'old style' custom validation to a Business Map validation
Posted by: Guido1982 - 04-06-2018, 07:10 AM - Forum: Administrator Support - Replies (15)

I want to migrate a validation I have in a custom validation file to a Business Map Validation. The validation I have now looks like this:

SalesOrderValidation.php

PHP Code:
<?php

global $log,$currentModule,$adb,$current_user;

$screen_values json_decode($_REQUEST['structure'],true);

$q "SELECT vtiger_groups.groupname FROM vtiger_groups INNER JOIN vtiger_users2group ON vtiger_groups.groupid = vtiger_users2group.groupid WHERE vtiger_users2group.userid = ?";
$p = array($current_user->id);
$r $adb->pquery($q$p);

$groups = array();

while (
$groupname $adb->fetch_array($r)) {
 
$groups[] = $groupname['groupname'];
}

$q "SELECT sostatus FROM vtiger_salesorder WHERE salesorderid = ?";
$p = array(vtlib_purify($screen_values['record']));
$r $adb->pquery($q$p);
$current_status $adb->query_result($r0'sostatus');

$q "SELECT vtiger_role.rolename FROM vtiger_role INNER JOIN vtiger_user2role ON vtiger_role.roleid = vtiger_user2role.roleid WHERE vtiger_user2role.userid = ?";
$p = array($current_user->id);
$r $adb->pquery($q$p);
$rolename $adb->query_result($r0'rolename');

if (!
in_array('Debiteurenadministratie'$groups) && $current_status == 'Wacht op betaling' && $screen_values['sostatus'] != 'Wacht op betaling') {
 echo 
'U mag de status niet van \'Wacht op betaling\' af halen'// Translation: You are not allowed to change the status from 'Wacht op betaling' to anything else
 
die();
} else if (
$rolename != 'Directeur' && $screen_values['sostatus'] == 'Cancelled' && $current_status != 'Cancelled') {
 echo 
'U mag deze order niet annuleren, alleen de Directeur mag dat'// Translation: You are not allowed to cancel an order, only the CEO is.
 
die();
}

echo 
'%%%OK%%%'

This basically checks the user's role and group to see what they can and cannot do to specific SalesOrder statuses. Now I want to migrate this to a Busines map validation. I was thinking along these lines:

Business Map
Code:
<map>
 <originmodule>
   <originname>SalesOrder</originname>
 </originmodule>
 <fields>
   <field>
     <fieldname>sostatus</fieldname>
     <validations>
       <validation>
         <rule>custom</rule>
         <restrictions>
         <restriction>modules/SalesOrder/ValidateStatus.php</restriction>
         <restriction>check_sostatus_permissions</restriction>
         <restriction>validate_sostatus_permissions</restriction>
         </restrictions>
       </validation>
     </validations>
   </field>
 </fields>
</map>

modules/SalesOrder/ValidateStatus.php

PHP Code:
<?php

function validate_sostatus_permissions() {

global 
$log,$currentModule,$adb,$current_user;

$screen_values json_decode($_REQUEST['structure'],true);

$q "SELECT vtiger_groups.groupname FROM vtiger_groups INNER JOIN vtiger_users2group ON vtiger_groups.groupid = vtiger_users2group.groupid WHERE vtiger_users2group.userid = ?";
$p = array($current_user->id);
$r $adb->pquery($q$p);

$groups = array();

while (
$groupname $adb->fetch_array($r)) {
 
$groups[] = $groupname['groupname'];
}

$q "SELECT sostatus FROM vtiger_salesorder WHERE salesorderid = ?";
$p = array(vtlib_purify($screen_values['record']));
$r $adb->pquery($q$p);
$current_status $adb->query_result($r0'sostatus');

$q "SELECT vtiger_role.rolename FROM vtiger_role INNER JOIN vtiger_user2role ON vtiger_role.roleid = vtiger_user2role.roleid WHERE vtiger_user2role.userid = ?";
$p = array($current_user->id);
$r $adb->pquery($q$p);
$rolename $adb->query_result($r0'rolename');

if (!
in_array('Debiteurenadministratie'$groups) && $current_status == 'Wacht op betaling' && $screen_values['sostatus'] != 'Wacht op betaling') {
 return 
'U mag de status niet van \'Wacht op betaling\' af halen'// Translation: You are not allowed to change the status from 'Wacht op betaling' to anything else
 
die();
} else if (
$rolename != 'Directeur' && $screen_values['sostatus'] == 'Cancelled' && $current_status != 'Cancelled') {
 return 
'U mag deze order niet annuleren, alleen de Directeur mag dat'// Translation: You are not allowed to cancel an order, only the CEO is.
 
die();
}

return 
true;


My questions
  • Do I have the same 'screen_values' array at my disposal?
  • Am I correct to transform my "echo's" into "returns" and expect it to work?
  • Am I doing something else terribly wrong?

Print this item

  no se asignan registros a contacts
Posted by: construmet4 - 04-05-2018, 08:42 AM - Forum: User Support - Replies (13)

Buenos días:

ME encuentro con el siguiente problema:

Cuando creo una llamada que realiza un contacto registrado, esa llamada introducida, no se ve como llamada asignada en la ficha de "contacts" en el apartado de más información del módulo, no aparece el registro relacionado en la base de datos donde sí que está relacionada la id del contact al que pertenece esa llamada ¿Qué puede estar pasando?

En la base de datos del registro relacionado con el Modulo LlamadasRecibidas, se registra de esta manera:

Tabla de LlamasRecibidas

   

En la tabla, describo los campos:

llamadarecibidaid=Id único del registro de la llamada
cf_856= Assigned to
cf_857= Asunto
cf_858 = Si está gestionada o no
cf_589 = Contact al que pertenece

Entiendo que si en la tabla de vtiger_contactdetails tiene el mismo número de contactid que el que aparece en el cf_589, automáticamente estarían relacionados para que aparecieran en la información adicional? del módulo contacts
?

Alguna idea de lo que puede estar pasando? o si hay alguna tabla que vincule los registros a parte?
Será por el nombre que tienen los campos en las tablas de LlamadasRecibidas?

Print this item

  configurar plantilla email
Posted by: construmet4 - 04-05-2018, 06:04 AM - Forum: User Support - Replies (1)

Buenos días a todos Big Grin

Necesitaría algo de ayuda para configurar un email informativo que envíe información de un módulo personalizado que he creado.

Lo que necesito es que el email sea enviado a el correo electrónico al email del grupo "Assigned to" y al email de la cuenta "Account" del "record_id" del módulo creado llamado LlamadaRecibida. Como asunto del mensaje, necesito que se envíe La fecha y la hora de creación, el asunto,

¿Cómo puedo crear el template del email para utilizarlo en un workflow para que cada vez que se guarde un nuevo registro sea enviado dicho email?

He podido ver que en el módulo de confeccionar un email, puedo elegir algunos módulos que tiene por defecto, pero no se cómo puedo incluir los módulos que me interesan a fin de conseguir los datos que necesito

Muchas gracias por vuestra ayuda

Print this item

  Importar contactos
Posted by: construmet4 - 04-04-2018, 11:22 AM - Forum: User Support - Replies (2)

Buenos días:

Estoy muy cerca de poner en marcha en producción corebos, pero me hace falta saber si existe alguna forma de importar masivamente contacts, y asignarlos en la importación a cuentas y usuarios. ¿Alguna sugerencia? también me iría bien conocer un modelo de csv para confeccionarlo tal y como ha de ser para importar todos los registros. Muchas gracias

Muchas gracias

Print this item

  INSTANCIAS DE COREBOSCRM
Posted by: flopezcpa - 04-02-2018, 11:57 PM - Forum: International - Replies (5)

Buenas noches:
Tal vez sea posible, pero se puede tener varias instancias de Coreboscrm o varias compañias?

Por ejemplo
192.168.2.103/compañia01
192.168.2.102/compañia02

Es Posible?

Print this item

  workflow test for assigned to group
Posted by: rslemer - 04-02-2018, 06:18 PM - Forum: Administrator Support - Replies (1)

I wish my workflow run from all user in specific group

Problem is, when I test a group system only execute a workflow for all members off group. System look if assigned is a "name of group"

How I can setting that?

Print this item

  Abrir un módulo desde addlink action enviando variables
Posted by: construmet4 - 04-02-2018, 09:59 AM - Forum: User Support - Replies (8)

Buenos días:

Necesito abrir un módulo desde el módulo contactos, pero tiene que enviar varias variables desde dicho módulo contacto, para que los valores de :

MODULO CONTACTO Módulo que se ha de abrir
Contact_id = Related_by
Asignado_a = Asignado_a
Nombre de la cuenta = Nombre de la cuenta

Qué variables tengo que poner en la siguiente línea de código para que me pase esos valores?

$mod_acc->addLink('DETAILVIEWBASIC', 'Add call', 'index.php?odule=LlamadasRecibidas=EditView&parent_id=$RECORD$')

Print this item

  Checking for a week number in a workflow expression
Posted by: Guido1982 - 03-30-2018, 03:27 PM - Forum: Administrator Support - Replies (19)

I have the following setup:

  • SalesOrders have two fields:
    • A dropdown with numbers 1 through 52 for the week no's.
    • A dropdown with the coming 10 years (so 2018, 2019 and so on).

Now I'd like to setup a workflow that runs once a week. The purpose of this workflow is to:
  • First check if the selected year is equal to the current one.
  • Then check if the week no. is lower then the current week no.

If those conditions are met, an e-mail should be sent out. Can I do this through the workflow expression engine and if so, does anyone have some pointers on the syntax?

Print this item

  Suggest - Enhanced - Relation to
Posted by: rslemer - 03-30-2018, 12:59 PM - Forum: Administrator Support - Replies (7)

I wish when open a ticket for example, selected only accounts type = Client

I will explain my scenario :

In my business, when user open a new ticket, only make sense listed "Account type = client" to select in Relation to.

I suggest, created a GlobalVariable or a possibility use a Business Map, for setting a condition for this type of result.

I think is a great feature for coreBOS.

What you think about it?



Attached Files Thumbnail(s)
   
Print this item

  Widget - Home Page
Posted by: rslemer - 03-30-2018, 12:47 PM - Forum: Administrator Support - Replies (11)

In home page,

widget top support tickets why conditions, system select to search for ticket is listed here ?

Upcoming Activities - why conditions, system select to search for tasks is listed here ?



Attached Files Thumbnail(s)
   
Print this item