Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Statement of Work

...


CURRENT SITUATION (OF THE PROCESS)

...

Process NameSales Onboarding
Start UserSales Executive
Case IdentifierOnboarding of @#Cust_Company_Name
(e.g. Onboarding of Colorado University)
DynaformsMain ( ? )
Input Documents

(question)

Finance: Credit document - Case support document.

Output Documents

(question)

Support: Welcome Support Email Template.

External Data Base ConnectionsAccount and Opportunity information from SUGARCRM database
Plug ins and Programming Development(question)

...

Panel
titleTask 1.1. Register Sales


UsersSales Executive Group
Assignment Rule

Value Based Assignment

Variable = @@salesExecutiveId
Duration1 DayCount Days By = Work Days
Data Base ConnectionsSUGARCRM


Step 1.

  • Name: Sugar Connect
  • Type: Trigger



Step 1Name: Sugar ConnectType: Trigger

Creates the connection to SugarCRM




Step 2.

  • Name: Sugar Login
  • Type: Dynaform
  • It opens a form for the credentials to log in the SUGARCRM (User and Password)

Field NameLabelData TypeRead OnlyDescriptionSource
1@@SugarUserNameUser NameTextFalse
User
2@@SugarPasswordPasswordTextFalseMask ***** (Password)User


Step 3.

  • Name: Sugar User Opportunities
  • Type: Dynaform
  • After the user has logged in, PM will show a form with 2 sections

Field NameLabelData TypeDescriptionSource
1@@sugarUserNameUser NameText [xxx]Non-Editable / Section 1User
2@@sugarAccountAccountDropdownSection 2 - Dependent to @#sugarUserName

From SUGARCRM

"SELECT ACCOUNT_NAME, ACCOUNT_NAME FROM PM_SUGAR_OPPORTUNITIES WHERE ASSIGNED_USER_NAME='@#sugarUserName' GROUP BY ACCOUNT_NAME ORDER BY ACCOUNT_NAME"

3@@sugarOpportunitiesOpportunitiesGrid (?)Section 2 - Dependent to @#sugarAccount

From SUGARCRM

SELECT ID_OPPORTUNITY, CONCAT(OPPORTUNITY_NAME," (",OPPORTUNITY_DESCRIPTION,")") FROM PM_SUGAR_OPPORTUNITIES WHERE ACCOUNT_NAME="@#sugarAccount"


Step 4.

  • Name: Sugar CRM Final Selection
  • Type: Dynaform

Field NameLabelData TypeRead OnlyDescriptionSource
1@@SUGARCRM_ACCOUNT_NAMEAccount nameTextTrue

Non-Editable / Section 1 -

Dependent to @#sugarAccount

SUGARCRM
2@@SUGARCRM_ACCOUNT_DESCRIPTIONDescriptionTextTrueNon-Editable / Section 1SUGARCRM
3@@SUGARCRM_ACCOUNT_TYPETypeTextTrueNon-Editable / Section 1SUGARCRM
4@@SUGARCRM_ACCOUNT_INDUSTRYIndustryTextTrueNon-Editable / Section 1SUGARCRM
5@@SUGARCRM_ACCOUNT_PHONEFAXPhone/FaxTextTrueNon-Editable / Section 1SUGARCRM
6@@SUGARCRM_ACCOUNT_BILLING_ADDRESS_STREETBilling Address StreetTextTrueNon-Editable / Section 1SUGARCRM
7SUGARCRM_ACCOUNT_BILLING_ADDRESS_CITYBilling Address CityTextTrueNon-Editable / Section 1SUGARCRM
8@@SUGARCRM_ACCOUNT_BILLING_ADDRESS_STATEBilling Address StateTextTrueNon-Editable / Section 1SUGARCRM
9@@SUGARCRM_ACCOUNT_BILLING_ADDRESS_POSTALCODEBilling Address POTextTrueNon-Editable / Section 1SUGARCRM
10@@SUGARCRM_ACCOUNT_BILLING_ADDRESS_COUNTRYBilling Address CountryTextTrueNon-Editable / Section 1SUGARCRM
11

@@SUGARCRM_ACCOUNT_EMAIL

EmailTextTrueNon-Editable / Section 1SUGARCRM
12@@SUGARCRM_ACCOUNT_PHONE_OFFICEPhone OfficeTextTrueNon-Editable / Section 1SUGARCRM
13@@SUGARCRM_ACCOUNT_WEBSITEWebsiteTextTrueNon-Editable / Section 1SUGARCRM
14@@SUGARCRM_SELECTED_OPPORTUNITIESServices SelectedGridTrue

No add Rows

No Delete Rows

SUGARCRM
15Grid Field - SUGARCRM_OPPORTUNITY_ID
hidden

SUGARCRM
16Grid Field - SUGARCRM_OPPORTUNITY_NAMEOpportunity NameTextTrueNon-Editable / Section 2SUGARCRM
17Grid Field - SUGARCRM_OPPORTUNITY_TYPETypeDropdownTrueNon-Editable / Section 2SUGARCRM
18Grid Field - SUGARCRM_OPPORTUNITY_AMOUNTAmountTextTrueNon-Editable / Section 2SUGARCRM
19Grid Field - SUGARCRM_OPPORTUNITY_DESCRIPTIONDescriptionText BoxTrueNon-Editable / Section 2SUGARCRM
20@@SUGARCRM_ACCOUNT_CONTACTSContacts SugarCRMgridTrue

Allow to Delete Rows

No add rows

SUGARCRM
21Grid Field - SUGARCRM_ACCOUNT_CONTACT_IDhidden

hidden
22Grid Field - SUGARCRM_ACCOUNT_CONTACT_FIRST_NAMEFirst NameTextFalse
User
23Grid Field - SUGARCRM_ACCOUNT_CONTACT_LAST_NAMELast NameTextFalse
User
24Grid Field - SUGARCRM_ACCOUNT_CONTACT_PHONE_MOBILEMobileTextFalse
User
25Grid Field - SUGARCRM_ACCOUNT_CONTACT_PHONE_WORKWork phone TextFalseMask XXX-XXX-XXXXUser
26Grid Field - SUGARCRM_ACCOUNT_CONTACT_EMAIL1EmailTextFalse
User
27Grid Field - SUGARCRM_ACCOUNT_CONTACT_TYPEType DropdownFalse
  • Technical
  • Financial (Financal ?) validate Sugar (?)
  • Business
  • Other
User
28Grid Field - SUGARCRM_ACCOUNT_CONTACT_NOTESNotesText BoxFalse
User
29Grid Field - NoneDeleteButtonFalseAllows to delete the contact rowUser
30@@ADDITIONAL_CONTACTSAdditional ContactsGridFalseAdd and Delete is permited (?)User
31Grid Field - ADDITIONAL_CONTACT_FIRST_NAMEFirst NameTextFalse
User
32Grid Field - ADDITIONAL_CONTACT_LAST_NAMELast NameTextFalse
User
33Grid Field - ADDITIONAL_CONTACT_PHONE_MOBILEMobileTextFalse
User
34Grid Field - ADDITIONAL_CONTACT_PHONE_WORKWork PhoneTextFalse
User
35Grid Field - ADDITIONAL_CONTACT_EMAIL1EmailTextFalse
User
36Grid Field - ADDITIONAL_CONTACT_TYPETypeDropdownFalse
  • Technical
  • Financial (Financal ?) validate Sugar (?)
  • Business
  • Other
User
37Grid Field - ADDITIONAL_CONTACT_NOTESNotesTextFalse
User
38@@BILLING_ADDRESS_TO_USEBilling Address to UseRadio GroupFalse

Required

SELECT CONTACT_ID,CONCAT(LAST_NAME," ",FIRST_NAME, " (",PRIMARY_ADDRESS_STREET,", ",PRIMARY_ADDRESS_CITY,", ",PRIMARY_ADDRESS_STATE,", ",PRIMARY_ADDRESS_POSTAL_CODE,", ",PRIMARY_ADDRESS_COUNTRY,")") FROM PMT_PM_SUGAR_CONTACTS WHERE ACCOUNT_NAME=@@sugarAccount

User
39
Subtitle InformationSubtitle
Please review carefully the information in this form. If there is something to chenge you may access SugarCRM and then restart the case
40
Submit ButtonSubmit Button
Validate Sugar Info (See JavaScript)


JavaScript Validations

ValidationCode
Validate Sugar Information On Submit
var dynaformOnload function(){
validateSugarInfo(false);
}

function validateSugarInfo(sw_submit){
errorMessage="";

fieldsToValidate new Array('SUGARCRM_ACCOUNT_NAME','SUGARCRM_ACCOUNT_BILLING_ADDRESS_STREET','SUGARCRM_ACCOUNT_BILLING_ADDRESS_CITY','SUGARCRM_ACCOUNT_BILLING_ADDRESS_STATE','SUGARCRM_ACCOUNT_BILLING_ADDRESS_COUNTRY');
//fieldsToValidate = new Array('SUGARCRM_ACCOUNT_NAME');
for(in fieldsToValidate){

fieldName=fieldsToValidate[i];

fieldObj=getField(fieldName);
if(fieldObj){
//console.log(fieldObj);
//console.log(fieldObj.parentNode);
//console.log(fieldObj.parentNode.previousSibling.previousSibling);
//console.log(fieldObj.parentNode.previousSibling.previousSibling.className);
//console.log(fieldObj.parentNode.previousSibling.previousSibling.innerText);


if(fieldObj.value == ""){
errorMessage+="<li>"+fieldObj.parentNode.previousSibling.previousSibling.innerText+"</li>";
}
}

}

if(errorMessage!=""){
title="<font color='red'>ERROR!</font><b> Some required fields were not filled in Sugar</b><br /><br />";
bottom "<hr><i>Please complete it in SugarCRM</i>"
//msgBox(title+errorMessage, 'info', false);
msg=title+errorMessage+bottom;
new leimnud.module.app.info().make({
         labelmsg,
           width450,
           height250,
          
      });
}else{
if(sw_submit){
//alert("submitForm");
submitForm();
}else{
//alert("nothing");
}
}
}



Step 5.

  • Name: Service Information
  • Type: Dynaform



Field NameLabelData TypeRead OnlyDescriptionSource
1@@Account_ExecAccount ExecutiveTextTrueDisable / Sales Manager who started the processRegister Sale Task
2
Customer Invoicing InformationSubtitle
New Section
3@@Cust_Company_NameCompany NameTextTrueDisable / Customer Invoicing InformationSUGARCRM
4@@Cust_First_NameFirst NameTextTrueDisable / Customer Invoicing InformationSUGARCRM
5@@Cust_Last_NameLast NameTextTrueDisable / Customer Invoicing InformationSUGARCRM
6@@Cust_EmailEmail AddressTextTrueDisable / Customer Invoicing InformationSUGARCRM
7@@CustomerAddress1Address Line 1TextTrueDisable / Customer Invoicing InformationSUGARCRM
8@@CustomerAddress2Address Line 2TextTrueDisable / Customer Invoicing InformationSUGARCRM
9@@CustomerCityCityTextTrueDisable / Customer Invoicing InformationSUGARCRM
10@@CustomerStateStateTextTrueDisable / Customer Invoicing InformationSUGARCRM
11@@CustomerPostCodeZip / Postal CodeTextTrueDisable / Customer Invoicing InformationSUGARCRM
12@@Cust_CountryCountryTextTrueDisable / Customer Invoicing InformationSUGARCRM
13@@Cust_Work_PhoneWork Phone NumberTextTrueDisable / Customer Invoicing InformationSUGARCRM
14@@CustomerCellphoneCellphone NumberTextTrueDisable / Customer Invoicing InformationSUGARCRM
15@@CustomerFaxFaxTextTrueDisable / Customer Invoicing InformationSUGARCRM
16
Invoicee InformationSubtitleNew Section

17@@invoiceeInvoiceeTextFalseInvoicee Information - Hint: Please edit and insert correct name and address ONLY if invoicee information is different from account information in SugarCRMCurrent Task
18
Additional Customer InformationSubtitleNew Section

19@@ACCOUNT_REGIONCustomerRegionDropdownFalsePending - SELECT REGION_ID, REGION_NAME FROM PMT_CUSTOMER_REGIONCurrent Task
20@@Cust_TimeZoneCustomer TimezoneDropdownFalsePending - SELECT GMT,NAME FROM PMT_TIMEZONESCurrent Task
21@@Cust_PO_NumberCustomer PO Number (If given)TextFalseEditable / Additional InformationCurrent Task
22@@Cust_Extra_InformationAdditional Information / Special RequestsText BoxFalseAdditional InformationCurrent Task
23@@Upload_Customer_OrderCustomer Order FormFileFalseAdditional Information - Required - Hint: You MUST upload the completed order form from the customerCurrent Task
24@@Upload_Customer_Doc_1Additional Customer DocumentationMultiple FileTrueView / Additional Information - Hint: Please attach here any additional required customer digital documentation.Current Task
25@@PSQuotationDocumentPS Quotation DocumentFileFalseAdditional Information - [New Field]Current Task
26
Selected Opportunities InformationSubtitle
New Section
27@@SUGARCRM_SELECTED_OPPORTUNITIESSelected OpportunitiesGridTrue
Previous Step
28
Contacts InformationSubtitle
New Section
29@@SUGARCRM_ACCOUNT_CONTACTSSUGARCRMGridTrueDisable / Contacts InformationCurrent Task
30
Select The Services The Customer Has Ordered
Subtitle
New Section
31@@Select_ServicesServices to be InvoicedGridFalseEditable - Allows to add new rows and delete themCurrent Task
32
Payment Plan / Invoice InformationSubtitle
New Section
33@@PaymentPlanGridPayment Plan / Invoice Information [new Field]GridFlaseEditable / Allow Adding or Deleting RowsCurrent Task
34
Invoice ByDatetimeFlasePayment Plan / Invoice Information Grid FieldCurrent Task
35
Payment Due DateDatetimeFlasePayment Plan / Invoice Information Grid FieldCurrent Task
36
Invoice CurrencyDropdownFlasePayment Plan / Invoice Information Grid FieldCurrent Task
37
Invoice AmountTextFlasePayment Plan / Invoice Information Grid FieldCurrent Task
38
Invoice NumberTextFlasePayment Plan / Invoice Information Grid FieldCurrent Task
39
Invoice DateDatetimeFlasePayment Plan / Invoice Information Grid FieldCurrent Task
40
Invoice Sent to the customer?DropdownFlasePayment Plan / Invoice Information Grid FieldCurrent Task
41
Invoice FileFileFalsePayment Plan / Invoice Information Grid FieldCurrent Task
42
Invoicing CommentsTextboxFalsePayment Plan / Invoice Information Grid FieldCurrent Task
43
Remarks / CommentsSubtitle
New Section
44@@Services_Internal_RemarksInternal Remarks / NotesText BoxFalseRemarks / CommentsCurrent Task
45@@Service_Start_DateContract Start DateDatetimeFalseRemarks / Comments - Hint: Enter the date that the customer would like to begin their servicesCurrent Task
46@@Service_End_DateContract End DateDatetimeFalseRemarks / Comments - Hint: In most cases, the end date should be 1 year from todayCurrent Task
47@@Signed_Contract_sent_checkCheckboxFalseRemarks / CommentsCurrent Task
48 DropdownFalse

Shows the users from Finance Group Remarks / Comments -

SELECT USR_UID, USR_FULLNAME FROM INVOICE_USERS

Current Task
49
IMPORTANT: Begin services before collecting payment?Label


50@@Invoiced_NowBegin services before collecting payment?DropdownFalseYes/No Options Remarks / Comments -
51
SubmitSubmit Button



ValidationCode
ONLOAD_JSvar dynaformOnload function(){
  
  pluginschk=document.getElementsByName('form[''CHK_PLUGIN' +'][]');
  for(in pluginschk){
    //console.log(pluginschk[j]);
    leimnud.event.add(pluginschk[j]'click'function(){if(this.checkedthis.checked=false;else this.checked=true;alert("Can't select a plugin directly");});
  }
  
  hideRowById("titlePg");
  hideRowById("CHK_PLUGIN");
  hideRowById("titleWorkflowbundle");
  hideRowById("workflowBundle");
  hideRowById("workflowBundleProcesses");
  
  hideRowById("titlePMSE");
  hideRowById("PMSE_MAX_ADMINS");
  hideRowById("PMSE_MAX_USERS");
  hideRowById("PMSE_TOTAL_USERS");
  hideRowById("PMSE_MAX_CASES");
  hideRowById("PMSE_BUSINESS_RULE");
  
  //contractSubtitle("titlePg");
  //contractSubtitle("workflowBundleProcesses");
  iRows Number_Rows_Grid('Select_Services','Service');
  for(var i=1i<=iRowsi++){
    addOnchangeService(i);
  }
  //console.log(getObject("Select_Services"));
  //console.log(getObject("Select_Services").countRows());
  getObject("Select_Services").onaddrow function(iRow){
    addOnchangeService(iRow);
  }
  function doNothing(){
    alert("don't click!");
  }
  function addOnchangeService(iRow){
    oAux=getGridField('Select_Services'iRow'Service');
    oAux.iRow=iRow;
    oAux1=getGridField('Select_Services'iRow'Service_Type');
    //console.log(oAux1);
    leimnud.event.add(oAux'change'function(){
      
      basedServiceAction();
      if(this.options[this.options.selectedIndex].value==&& 1==0){
        //alert("plugins dropdown "+ this.iRow);
        oAux1=getGridField('Select_Services'this.iRow'Service_Type');
        while oAux1.hasChildNodes(){
          oAux1.removeChild(oAux1.childNodes[0]);
        }
        pluginschk=document.getElementsByName('form[''CHK_PLUGIN' +'][]');
        oAux1.optionsoAux1.lengthnew Option(" -- Select a Plugin --",""  );
        for(in pluginschk){
          //console.log(pluginschk[j]);
          if(pluginschk[j].value){
            //alert(pluginschk[j].value);
            //alert(pluginschk[j].nextSibling.innerText);
            
            oAux1.optionsoAux1.lengthnew Option(pluginschk[j].nextSibling.innerText,pluginschk[j].value  );
            
          }
        }
        
        
      }
    });
    leimnud.event.add(oAux1'change'basedServiceTypeAction);
    basedServiceAction();
  }
  function basedServiceAction(){
    //alert("service asasasas");
    iRows Number_Rows_Grid('Select_Services','Service');
    sw_showOptions=false;
    sw_showOptionsPMSE=false;
    for(var i=1i<=iRowsi++){
      oAux=getGridField('Select_Services'i'Service');
      oAux1=getGridField('Select_Services'i'Service_Type');
      //console.log(oAux.options[oAux.options.selectedIndex].value);
      selectedOption oAux.options[oAux.options.selectedIndex].value;
      selectedOption1 oAux1.options[oAux1.options.selectedIndex].value;
      if((selectedOption == 1)||(selectedOption == 5)||(selectedOption == 6)||(selectedOption == 7)||(selectedOption == 9)){
        sw_showOptions=true;
      }
      if(sw_showOptions){
        showRowById("titlePg");
        showRowById("CHK_PLUGIN");
        showRowById("titleWorkflowbundle");
        showRowById("workflowBundle");
        showRowById("workflowBundleProcesses");
        //contractSubtitle("titlePg");
        //contractSubtitle("workflowBundleProcesses");
        }else{
        hideRowById("titlePg");
        hideRowById("CHK_PLUGIN");
        hideRowById("titleWorkflowbundle");
        hideRowById("workflowBundle");
        hideRowById("workflowBundleProcesses");
        //contractSubtitle("titlePg");
        //contractSubtitle("workflowBundleProcesses");
      }
      
      
      
      if((selectedOption == 10)||(selectedOption == 11)){
        sw_showOptionsPMSE=true;
      }
      
      if(sw_showOptionsPMSE){
        //showRowById("titlePMSE");
        //showRowById("PMSE_MAX_ADMINS");
        //showRowById("PMSE_MAX_USERS");
        //showRowById("PMSE_TOTAL_USERS");
        //showRowById("PMSE_MAX_CASES");
        //showRowById("PMSE_BUSINESS_RULE");
        }else{
        hideRowById("titlePMSE");
        hideRowById("PMSE_MAX_ADMINS");
        hideRowById("PMSE_MAX_USERS");
        hideRowById("PMSE_TOTAL_USERS");
        hideRowById("PMSE_MAX_CASES");
        hideRowById("PMSE_BUSINESS_RULE");
      }
      
      
    }
    
    
    
  }
  function basedServiceTypeAction(){
    //alert("type asasasas");
    iRows Number_Rows_Grid('Select_Services','Service');
    sw_showOptions=false;
    sw_showOptionsPMSE=false;
    for(var i=1i<=iRowsi++){
      oAux=getGridField('Select_Services'i'Service');
      oAux1=getGridField('Select_Services'i'Service_Type');
      selectedOption oAux.options[oAux.options.selectedIndex].value;
      selectedOptionType oAux1.options[oAux1.options.selectedIndex].value;
      if((selectedOption == 1)||(selectedOption == 5)||(selectedOption == 6)||(selectedOption == 9)){
        //alert("autocheck plan plugins");
        autoCheckPlugins(selectedOptionType);
      }
      if(selectedOption == 7){
        //alert("chekc plugin");
        //console.log(pluginsToCheck[h].PLUGIN_ID);
        pluginOption=getField("CHK_PLUGIN]["+selectedOptionType);
        //console.log(pluginOption);
        if(pluginOption){
          if(pluginOption.checked==true){
            alert("Selected plugin is alredy checked!");
            }else{
            pluginOption.checked=true;
          }
        }
      }
      //alert(selectedOptionType);
      
      // 37 = User Based
      // 38 = Case based
      // 39 = Partner
      // 40 = Rules Engine
      
      if(selectedOptionType == 37){
        showRowById("titlePMSE");
        showRowById("PMSE_MAX_ADMINS");
        showRowById("PMSE_MAX_USERS");
        showRowById("PMSE_TOTAL_USERS");
        hideRowById("PMSE_MAX_CASES");
        
        getField('PMSE_MAX_CASES').value=999000;
        //showRowById("PMSE_BUSINESS_RULE");
        
        getField('PMSE_MAX_ADMINS').readOnly false;
        getField('PMSE_MAX_USERS').readOnly false;
        
        getField("PMSE_MAX_ADMINS").style.backgroundColor "white";
        getField("PMSE_MAX_USERS").style.backgroundColor "white";
        
        //enableRequiredById('PMSE_MAX_ADMINS');
        //enableRequiredById('PMSE_MAX_USERS');
        
      }
      
      if(selectedOptionType == 38){
        showRowById("titlePMSE");
        hideRowById("PMSE_MAX_ADMINS");
        hideRowById("PMSE_MAX_USERS");
        hideRowById("PMSE_TOTAL_USERS");
        showRowById("PMSE_MAX_CASES");
        //showRowById("PMSE_BUSINESS_RULE");
        
        getField('PMSE_MAX_ADMINS').value=10;
        getField('PMSE_MAX_USERS').value=999000;
        
        
        getField('PMSE_MAX_CASES').readOnly false;
        getField("PMSE_MAX_CASES").style.backgroundColor "white";
        
      }
      
      if(selectedOptionType == 40){
        //showRowById("titlePMSE");
        //showRowById("PMSE_MAX_ADMINS");
        //showRowById("PMSE_MAX_USERS");
        //showRowById("PMSE_TOTAL_USERS");
        //showRowById("PMSE_MAX_CASES");
        showRowById("PMSE_BUSINESS_RULE");
        getField('PMSE_BUSINESS_RULE').value=1;
        
        }else{
        hideRowById("PMSE_BUSINESS_RULE");
        getField('PMSE_BUSINESS_RULE').value=0;
      }
      
      if(selectedOptionType == 39){
        showRowById("titlePMSE");
        showRowById("PMSE_MAX_ADMINS");
        showRowById("PMSE_MAX_USERS");
        showRowById("PMSE_TOTAL_USERS");
        showRowById("PMSE_MAX_CASES");
        showRowById("PMSE_BUSINESS_RULE");
        
        toReadOnly(getField('PMSE_MAX_ADMINS'));
        toReadOnly(getField('PMSE_MAX_USERS'));
        toReadOnly(getField('PMSE_TOTAL_USERS'));
        toReadOnly(getField('PMSE_MAX_CASES'));
        toReadOnly(getField('PMSE_BUSINESS_RULE'));
        
        getField('PMSE_MAX_ADMINS').value=1;
        getField('PMSE_MAX_USERS').value=4;
        getField('PMSE_TOTAL_USERS').value=5;
        getField('PMSE_MAX_CASES').value=1000;
        getField('PMSE_BUSINESS_RULE').value=1;
        
        
      }
      
      
      
      
    }
  }
  
  function autoCheckPlugins(serviceTypeId){
    //alert(serviceTypeId);
    var oRPC new leimnud.module.rpc.xmlhttp({
      urlbaseURLFunction()+'enterpriseCP/onboardingAjax.php',
      async:false,
      method:'POST',
      args:'action=getServiceTypePlugins&serviceType='+serviceTypeId
    });
    oRPC.make();
    //alert(oRPC.xmlhttp.responseText);
    pluginsToCheck=oRPC.xmlhttp.responseText.parseJSON();
    pluginschk=document.getElementsByName('form[''CHK_PLUGIN' +'][]');
    for(in pluginschk){
      //console.log(pluginschk[j]);
      pluginschk[j].checked=false;
    }
    //console.log(pluginsToCheck);
    for(in pluginsToCheck){
      //console.log(pluginsToCheck[h].PLUGIN_ID);
      pluginOption=getField("CHK_PLUGIN]["+pluginsToCheck[h].PLUGIN_ID);
      //console.log(pluginOption);
      if(pluginOptionpluginOption.checked=true;
    }
  }
  function baseURLFunction(){
    currentUrlArray=window.location.href.split("/");
    newURL="";
    if((currentUrlArray[0]=="http:")||(currentUrlArray[0]=="https:")){
      newURL=newURL+currentUrlArray[0]+"//";
      delete currentUrlArray[0];
      delete currentUrlArray[1];
    }
    countA=0;
    for(i=0;i<currentUrlArray.length;i++){
      if(currentUrlArray[i]){
        countA++;
        if(countA<5){
          newURL=newURL+currentUrlArray[i]+"/";
          //alert(currentUrlArray[i]);
        }
      }
      
    }
    
    return newURL;
  }
  
  
  
  
  //****************************************************
  function fnEnableOpportunity(mFiled){
    
    var newField mFiled.name;
    var nf newField.split("[");
    nf nf[2];
    nf nf.split("]");
    var nRow nf[0];
    
    
    if(getGridField("Select_Services"nRow"Renewal").value == '2' || getGridField("Select_Services"nRow"Renewal").value == '3' || getGridField("Select_Services"nRow"Renewal").value == '4'){
      getGridField("Select_Services"nRow"renewalOpportunities").disabled   false;
    }
    else{
      getGridField("Select_Services"nRow"renewalOpportunities").disabled   true;
      getGridField("Select_Services"nRow"renewalOpportunities").value "";
    }
    
    
  }
  
  function fnEnableExpected(mField){
    

    var newField mField.name;
    var nf newField.split("[");
    nf nf[2];
    nf nf.split("]");
    var nRow nf[0];
    
    if(getGridField("Select_Services"nRow"Service").value == '1' 
    || getGridField("Select_Services"nRow"Service").value == '5'
    || getGridField("Select_Services"nRow"Service").value == '6'
    || getGridField("Select_Services"nRow"Service").value == '7'
    || getGridField("Select_Services"nRow"Service").value == '9'){
      
      getGridField("Select_Services"nRow"SERVICE_RENEWAL_AMOUNT").disabled   false;
      getGridField("Select_Services"nRow"SERVICE_RENEWAL_AMOUNT").value getGridField("Select_Services"nRow"Service_SubTotal").value;
    }
    else{
      getGridField("Select_Services"nRow"SERVICE_RENEWAL_AMOUNT").disabled   true;
      getGridField("Select_Services"nRow"SERVICE_RENEWAL_AMOUNT").value "";
    }
  }
  
  
  
  
  var totalRows Number_Rows_Grid("Select_Services""Renewal");
  for(var i=1i<=totalRowsi++){
    
    getGridField("Select_Services"i"Service").addEventListener("change"function()fnEnableExpected(this)});
    
    getGridField("Select_Services"i"Renewal").addEventListener("change"function()fnEnableOpportunity(this)});
    getGridField("Select_Services"i"renewalOpportunities").disabled   true;
  }
  
  function validateDate(field){
    //alert(field);
    var date1 document.getElementById(field).value;
    date1 date1.split("-");
    
    var sDate new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);
    var sDay sDate.toString().split(" ");
    sDay sDay[0];
    
    if(sDay == 'Sat' || sDay == 'Sun'){
      alert("Weekends are not allowed for selection");
      document.getElementById(field).value "";
    }
  };
  
    document.getElementById("form[Service_Start_Date]").addEventListener("change"function(){validateDate("form[Service_Start_Date]")});
  document.getElementById("form[Service_End_Date]").addEventListener("change"function(){validateDate("form[Service_End_Date]")});
  
  /*var rows = Number_Rows_Grid("Select_Services", "SERVICE_REAL_START_DATE");
  for(var i=1; i<=rows; i++){

    window["fieldStart" + i] = "form[Select_Services][" + i + "][SERVICE_REAL_START_DATE]";
    window["fieldEnd"+i] = "form[Select_Services][" + i + "][SERVICE_REAL_END_DATE]";
    document.getElementById(this["fieldStart"+i]).addEventListener("change", function(){validateDate(this["fieldStart"+i])});
    document.getElementById(this["fieldEnd"+i]).addEventListener("change", function(){validateDate(this["fieldEnd"+i])});
  }*/
  
}


Step RoutingNext TaskRouting RuleConditionsNotes

Invoice CustomerAlways goes to Invoice Customer as long as the user is authenticated (question)(1==1) && (@@sw_user_sugar==true)

Professional Services WelcomeThe Sales Executive selected a service as a “Professional Services”.(@@sw_professional_services==true) && (@@sw_user_sugar==true)

Support RegistrationThe Sales Executive selected a service as a “Support Services”. (@@sw_support==true) && (@@sw_user_sugar==true)


...

Panel
titleTask 3 Support Registration


UsersSupport Group
Assignment RulePENDING
DurationPENDING


Step 1.

  • Name: Support Starter
  • Type: Dynaform



Field NameLabelData TypeRead OnlyDescriptionSource
1@@AccountExecutiveAccount ExecutiveTextTrueDisable / Sales Manager who started the processRegister Sale Task
2
New Support Customer Subtitle
New Section
3@@CustomerCompanyNameCompany NameTextTrueDisable / New Support CustomerSUGARCRM
4@@CustomerFirstNameContact Person First NameTextTrueDisable / New Support CustomerSUGARCRM
5@@CustomerLastNameContact Person Last NameTextTrueDisable / New Support CustomerSUGARCRM
6@@CustomerWorkPhoneWork Phone NumberTextTrueDisable / New Support CustomerSUGARCRM
7@@CustomerCellphoneCellphone NumberTextTrueDisable / New Support CustomerSUGARCRM
8@@CustomerEmailEmail AddressTextTrueDisable / New Support CustomerSUGARCRM
9@@CustomerCityCityTextTrueDisable / New Support CustomerSUGARCRM
10@@CustomerCountryCountryTextTrueDisable / New Support CustomerSUGARCRM
11
Technical Person Contact InformationLabel


12@@CustomerTechFirstNameFirst NameTextTrueDisable / New Support CustomerSUGARCRM
13@@CustomerTechLastNameLast NameTextTrueDisable / New Support CustomerSUGARCRM
14@@CustomerTechEmailEmail AddressTextTrueDisable / New Support CustomerSUGARCRM
15@@CustomerTechWorkPhoneWork Phone NumberTextTrueDisable / New Support CustomerSUGARCRM
16@@CustomerTechCellphoneCellphone NumberTextTrueDisable / New Support CustomerSUGARCRM
17@@CustomerTechTimeZoneCustomer Time ZoneTextTrueDisable / New Support CustomerSUGARCRM
18@@ServicesGridServices Purchased: Please note the level of support based on the Subscription purchasedGridTrueDisable / New Support CustomerRegister Sale Task
19
Opportunities InformationSubtitle
New Section
20@@OpportunitiesGridGridGridTrueDisable / Opportunities InformationRegister Sale Task
21@@CustomerOrderFileCustomer Order FormFileTrueView / Opportunities InformationRegister Sale Task
22
Workflow Bundle InformationSubtitle
New Section
23@@WorkflowBundleWorkflow BundleDropdownTrueDisable / Workflow Bundle Information PENDINGRegister Sale Task
24@@ProcessesProcessesText BoxTrueDisable / Workflow Bundle Information PENDINGRegister Sale Task
25
Contacts InformationSubtitle
New Section
26@@ContactsGridSUGARCRMGridTrueDisable / Contacts InformationRegister Sale Task
27@@NewContactsGridAdditionalGridFalseEditable / Contacts InformationCurrent Task
28
Support ActionsSubtitle
New Section
29@@SalesInternalRemarksInternal Remarks / NotesText BoxTrueDisable / Support ActionsRegister Sale Task
30@@ServiceStartDateService Start DateDatetimeTrueDisable / Support ActionsRegister Sale Task
31@@ServiceEndDateService End DateDatetimeTrueDisable / Support ActionsRegister Sale Task
32@@SupportSpreadsheetUpdatedIs the Support customer spreadsheet updated?DropdownFalseEditable / Support ActionsCurrent Task
33@@CaseIDCase IDTextTrueDisable / Support ActionsSystem PENDING
34@@SupportCommentsComments from Support TeamText BoxFalseEditable / Support ActionsCurrent Task
35
Welcome EmailSubtitle
New Section
36

@@UserFirstName

User First NameTextFalseWelcome EmailCurrent Task
37@@MantisSupportProjectNameMantis Support Project NameTextFalseWelcome EmailCurrent Task
38@@MantisUsernameMantis UsernameTextFalseWelcome EmailCurrent Task
39@@MantisUserEmailMantis User EmailTextFalseWelcome EmailCurrent Task
40@@WorkspaceURLWorkspace URLTextFalseWelcome EmailCurrent Task
41@@WorkspaceUsernameWorkspace UsernameTextFalseWelcome EmailCurrent Task
42@@WorkspacePasswordWorkspace PasswordTextFalseWelcome EmailCurrent Task
43@@SandboxURLSandbox URLTextFalseWelcome EmailCurrent Task
44@@SandboxUsernameSandbox UsernameTextFalseWelcome EmailCurrent Task
45@@SandboxPasswordSandbox PasswordTextFalseWelcome EmailCurrent Task
46@@UniversityUsernameUniversity UsernameTextFalseWelcome EmailCurrent Task
47@@UniversityPasswordUniversity PasswordTextFalseWelcome EmailCurrent Task
48





49
SubmitSubmit Button



Step 2.

  • Name: SendWelcomeSupportEmail
  • Type: Trigger


Step 2Name: SendWelcomeSupportEmailType: Trigger

Creates a new email using the following "Support Welcome Email Template".


Panel
bgColor#F4F6F7
titleSupport Welcome Email Template

Image Modified

Hello {@@UserFirstName},

Thank you for choosing ProcessMaker for your BPM needs. We are confident that you will be very satisfied with the services that we offer. The information enclosed below will help you make the most of our services. If you have any questions, please contact us. 

We would also like to draw your attention to the following additional support sites : 
  • Community Forum - where you can become a member of our Community.
  • Documentation - where you can find up to date Documentation on ProcessMaker's features.
  • Blog and News Home - where you can find the latest news from ProcessMaker.

If your purchase features a support contract, then you may contact our support team on +1 (617) 340-3377, option 2.  Please be ready to state your name and company name when you call.

As your needs change, we will be happy to help you evaluate those needs and offer you the services that will help you achieve your new goals. 

Again, thank you for choosing ProcessMaker, we’re looking forward to working with you!


Summary Of Services Purchased 
Your Private Support Project has been created on our Support Portal under {@@MantisSupportProjectName}

Please use http://bugs.processmaker.com as the primary tool to report Support Tickets. You will also receive an automated email from our bug tracker (Mantis) to set up your password(s).

The credentials to access the Support Portal are:
  • username: {@@MantisUsername}
  • email: {@@MantisUserEmail}

In order to access the Production workspace, you need to:
  1. Go to {@@WorkspaceURL}
  2. Select the interface language.
  3. Login:
    1. Username: {@@WorkspaceUsername}
    2. Password:  {@@WorkspacePassword}
  4. Start testing ProcessMaker online.

In order to access the Sandbox testing workspace, you need to: 
  1. Go to {@@SandboxURL}
  2. Select the interface language.
  3. Login:
    1. Username: {@@SandboxUsername}
    2. Password:  {@@SandboxPassword}
  4. Start testing ProcessMaker online.

Should you have any questions about accessing the Sandbox Workspace, please do not hesitate to contact us at the support number provided.

You can download the ProcessMaker Advanced Workflow bundle from the following link : 

In order to access the included ProcessMaker Video Bootcamp online training course, please use the following credentials: 

Kind Regards,

The ProcessMaker Support Team


Step RoutingNext TaskRouting RuleConditionsNotes

Sales Follow UpSingle Sequence FlowN/A



...