CoreBOSBB

Full Version: Workflow and field between to modules
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi All
i use coreBOS 8.0  (32c52415420230331)

I've a problem with an automaitc email using cbTraining and Contacts module

I would like to send a mail with a customizable url to prefill some pool fields
somethink like https://mypool.paperform.co?FIELDCOURSE=$training_no&FIELDSTUDENT=$Contats_no
honestly i don't use $training_no but a custom field called Training_name
Paperform syntax is correct, the problem is how to merge this 2 fields in a corebos workflow e-mail.

I can't do a general workflow  for contacts module, mass edit scheduled, with a task with email, using a sintax like
https://mypool.paperform.co?FIELDSTUDENT=$Contats_no&FIELDCOURSE=$(general : (__VtigerMeta__) relatedlist_cbTraining_text_training_no)
and an other workflow for training to recall on related contact the previous workflow
because logically 1 student is able to attend more courses

so if i try to make directly a Training workflow with an email task i've 2 problems
1) i don't know how to set the Task Operation Recipient email if i set $(general : (__VtigerMeta__) relatedlist_Contacts_text_email)
doesn't send emails.

2) to try other i set in task operation recipient my personal mail (mymail@gmail.com to try  at least the customizable link in the email body
i tried this kind of url
https://mypool.paperform.co?FIELDSTUDENT=$(general : (__VtigerMeta__) relatedlist_Contacts_text_contact_no )&FIELDCOURSE=$cf_1292"
explain $cf_1292 is a cbTraining custom field
results
FIELDCOURSE works  Contacts_no returns strange value

so i tried with https://mypool.paperform.co?FIELDSTUDENT=$(general : (__VtigerMeta__) relatedlist_Contacts_text_firstname )&FIELDCOURSE=$cf_1292" to try to understand, and report also the Label  "Firstname" Lorenzo with special caracter %0D  (carriage return)

is there a way to solve this?
regards
Lorenzo
Hi :-)

I understand that you have a many-to-many relation between cbTraining and Contacts. This makes sense, one training has many students(contacts) and one student (hopefully :-)) will attend many trainings.

If so, there isn't much you can do. Many-to-many relations are not supported in the workflow system. As you say, not even with the mass actions where you could create a business question to get the records you want, you would still not be able to access all the information, it would be either contact or training, not both.

Sadly, the solution is to create another module and change how you establish the relations.

Create a new module, 'attended', for example. This module has a direct relation to one contact and a direct relation to a training. It actually represents the many-to-many relation. What is nice is that you can save more information there. Now, your many-to-many relation has no information. If you use a module to establish it you will be able to put information like, the dates, the evaluation or other things. But, more important, you will be able to launch workflows on the save of each record and access information from contact and training at the same time where you will be able to create the email and the URL.

The downside is that it becomes hard to establish the many-to-many relation.

ask whatever is not clear
Hi Joe
so sad to say, but is all clear.
So For example, course(cbTraining) Photoshop1 with 10 students(Contats) will have 10 "attendance realted with Photoshop1"
So if i create this new module, is possible with a workflow to create a new record "attendance" every time i related the Training with a contact? with some fields from training and contact copyed and so prefilled ? (some related some copied) something like Create Entity?
I know i ask a lot
tnx and best regards
Lorenzo
yes, you should be able to pre-fill the fields on creation with a Field Mapping business map

https://corebos.com/docs_grav/configuration-tools/business-maps/mapping

When you create a mapping from a module to itself: {ModuleName}2{ModuleName} the settings in that map are used to define the default values when creating. If you start from a training or a contact you can capture fields from that record also in a map named Contacts2Attendence (for example)