Guest User

Untitled

a guest
Jan 13th, 2020
84
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <cfparam name="Prospect_ID" default="0">
  2. <cfquery name="getProspect" datasource="#application.dsn#">
  3.     SELECT *
  4.     FROM Prospects
  5.     WHERE Prospect_ID = <cfqueryparam value="#attributes.Prospect_id#" cfsqltype="CF_SQL_INTEGER">
  6. </cfquery>
  7. <cfquery name="getProspectContacts" datasource="#application.dsn#">
  8.     SELECT PC.*
  9.     FROM Prospects P INNER JOIN Prospect_Contacts PC ON P.Prospect_ID = PC.Prospect_ID
  10.     WHERE P.Prospect_ID = <cfqueryparam value="#attributes.Prospect_id#" cfsqltype="CF_SQL_INTEGER">
  11. </cfquery>
  12. <cfquery name="getProdCats" datasource="#application.dsn#">
  13.     SELECT Cat_ID AS Option_Value, Cat_Name AS Option_Text
  14.     FROM Exhib_ProdCats
  15.     WHERE Event_ID = <cfqueryparam value="#attributes.Event_id#" cfsqltype="CF_SQL_INTEGER">
  16.     ORDER BY Cat_Name
  17. </cfquery>
  18. <cfquery name="getProspectProdCats" datasource="#application.dsn#">
  19.     SELECT *
  20.     FROM XR_Prospect_Cats
  21.     WHERE Prospect_ID = <cfqueryparam value="#attributes.Prospect_id#" cfsqltype="CF_SQL_INTEGER">
  22. </cfquery>
  23. <cfquery name="getEvents" datasource="#application.dsn#">
  24.     SELECT Event_ID AS Option_Value, Event_Name AS Option_Text
  25.     FROM Events
  26.     WHERE Status <> <cfqueryparam value="Deleted" cfsqltype="CF_SQL_VARCHAR">
  27. </cfquery>
  28. <cfscript>
  29.     getProspectTypes = app.options("Prospect_Types");
  30.     getProspectContactTypes = app.options("Prospect_Contact_Types");
  31.     getProspectSalesStages = app.options("Prospect_Sales_Stages");
  32.     getSponsorTypes = app.options("Sponsor_Types");
  33.     getStates = app.options("State");
  34.     forms.setValidation(name="page_name",prompt="Page Name",type="text");
  35.     forms.setValidation(name="page_title",prompt="Page Title",type="text");
  36. </cfscript>
  37. <cfoutput>
  38. <script language="JavaScript" type="text/javascript">
  39.     $(document).ready(function(){
  40.         $(".prospectForm").colorbox();
  41.         $('##modDiv').hide();
  42.         $('##mod-toggle').click(function() {
  43.             $('##modDiv').slideToggle('slow');
  44.             return false;
  45.         });
  46.     });
  47. </script>
  48. <cfimport prefix="controls" taglib="/Common/customtags" />
  49. <style type="text/css">
  50.     h3 { margin: 2em 0 0 0; }
  51. </style>
  52.  
  53. <link href="docs/css/selectSwap.css" rel="stylesheet" type="text/css" />
  54.  
  55. <style>
  56.     div.SelectSwap_horizontal div.Selector select {
  57.         /* change this to adjust selection box width */
  58.         width: 22em;
  59.         height: 30em;
  60.     }
  61. </style>
  62. #forms.getValidation()#
  63. <table cellpadding="5" cellspacing="0" border="0" width="100%">
  64.     <tr><td class="form_title">#getProspect.Company#</td></tr>
  65.     <form action="#app.enc('index.cfm?fuseaction=exhib.ProspectEditAction')#" method="post">
  66.     <tr>
  67.         <td>
  68.             <table cellpadding="4" cellspacing="0" width="100%" style="border: 1px solid black">
  69.                 <tr><td class="result_item" colspan="2"><strong>Prospect Info</strong></td></tr>
  70.                 <tr>
  71.                     <td width="50%" class="result_item" valign="top">
  72.                         <table width="100%" border="0" cellspacing="0" cellpadding="4">
  73.                             <tr>
  74.                                 <td class="result_item" valign="top" width="25%">*Company:</td>
  75.                                 <td class="result_item" width="75%">
  76.                                     #forms.text(name="Company",value=getProspect.company,size=50,maxlength=255,class="text")#
  77.                                 </td>
  78.                             </tr>
  79.                             <tr>
  80.                                 <td class="result_item" valign="top" width="25%">Address:</td>
  81.                                 <td class="result_item" width="75%">
  82.                                     #forms.text(name="Address",value=getProspect.Address,size=50,maxlength=255,class="text")#
  83.                                 </td>
  84.                             </tr>
  85.                             <tr>
  86.                                 <td class="result_item" valign="top" width="25%">Address Cont.:</td>
  87.                                 <td class="result_item" width="75%">
  88.                                     #forms.text(name="Address2",value=getProspect.Address2,size=50,maxlength=255,class="text")#
  89.                                 </td>
  90.                             </tr>
  91.                             <tr>
  92.                                 <td class="result_item" valign="top" width="25%">City:</td>
  93.                                 <td class="result_item" width="75%">
  94.                                     #forms.text(name="City",value=getProspect.City,size=50,maxlength=255,class="text")#
  95.                                 </td>
  96.                             </tr>
  97.                             <tr>
  98.                                 <td class="result_item" valign="top" width="25%">State:</td>
  99.                                 <td class="result_item" width="75%">
  100.                                     #forms.select(name="State",value="#getProspect.State#",query=getStates,null_prompt="Select...",null_value="")#
  101.                                 </td>
  102.                             </tr>
  103.                             <tr>
  104.                                 <td class="result_item" valign="top" width="25%">Zip:</td>
  105.                                 <td class="result_item" width="75%">
  106.                                     #forms.text(name="Zip",value=getProspect.Zip,size=50,maxlength=12,class="text")#
  107.                                 </td>
  108.                             </tr>
  109.                             <tr>
  110.                                 <td class="result_item" valign="top" width="25%">Main Phone:</td>
  111.                                 <td class="result_item" width="75%">
  112.                                     #forms.text(name="Phone",value=getProspect.Phone,size=50,maxlength=50,class="text")#
  113.                                 </td>
  114.                             </tr>
  115.                             <tr>
  116.                                 <td class="result_item" valign="top" width="25%">Website:</td>
  117.                                 <td class="result_item" width="75%">
  118.                                     #forms.text(name="Web_URL",value=getProspect.Web_URL,size=50,maxlength=255,class="text")#
  119.                                 </td>
  120.                             </tr>
  121.                             <tr>
  122.                                 <td class="result_item" valign="top" width="25%">Priority Points:</td>
  123.                                 <td class="result_item" width="75%">
  124.                                     #forms.text(name="Priority_Points",value=getProspect.Priority_Points,size=50,maxlength=255,class="text")#
  125.                                 </td>
  126.                             </tr>
  127.                             <tr>
  128.                                 <td class="result_item" valign="top" width="25%">Years Exhibited:</td>
  129.                                 <td class="result_item" width="75%">
  130.                                     <select name="Years_Exhibited" id="Years_Exhibited" size="6" multiple style="width: 320px;">
  131.                                         <cfloop query="getEvents">
  132.                                             <option value="#option_value#"<cfif listContains(getProspect.Years_Exhibited, option_value)> selected</cfif>>#Option_Text#</option>
  133.                                         </cfloop>
  134.                                     </select>
  135.                                 </td>
  136.                             </tr>
  137.                         </table>
  138.                     </td>
  139.                     <td width="50%" class="result_item" valign="top">
  140.                         <table width="100%" border="0" cellspacing="0" cellpadding="4">
  141.                             <tr>
  142.                                 <td class="result_item" valign="top" width="25%">*Prospect Type:</td>
  143.                                 <td class="result_item" width="75%">
  144.                                     #forms.select(name="Prospect_Type",value="#getProspect.Prospect_Type#",query=getProspectTypes,null_prompt="Select...",null_value="",class="required")#
  145.                                 </td>
  146.                             </tr>
  147.                             <tr>
  148.                                 <td class="result_item" valign="top" colspan="2">Product Categories:</td>
  149.                             </tr>
  150.                             <tr>
  151.                                 <td class="result_item" colspan="2">
  152.                                     <controls:selectSwap selectlimit="50" id="Product_Categories" querySource="#getProdCats#" listSelected="#valueList(getProspectProdCats.Cat_ID)#" DisplayMode="horizontal" ValueField="Option_Value" DisplayField="Option_Text" SourceHeader="Available Product Categories" SelectedHeader="Selected Product Categories"/>
  153.                                 </td>
  154.                             </tr>
  155.                             <tr>
  156.                                 <td class="result_item" valign="top" width="25%">Sponsor Type:</td>
  157.                                 <td class="result_item" width="75%">
  158.                                     <select name="Sponsor_Type" id="Sponsor_Type" size="6" multiple style="width: 320px;">
  159.                                         <cfloop query="getSponsorTypes">
  160.                                             <option value="#option_value#"<cfif listContains(getProspect.Sponsor_Type, option_value)> selected</cfif>>#Option_Text#</option>
  161.                                         </cfloop>
  162.                                     </select>
  163.                                 </td>
  164.                             </tr>
  165.                             <tr>
  166.                                 <td class="result_item" valign="top" width="25%">Sales Stage:</td>
  167.                                 <td class="result_item" width="75%">
  168.                                     #forms.select(name="Sales_Stage",value="#getProspect.Sales_Stage#",query=getProspectSalesStages,null_prompt="Select...",null_value="")#
  169.                                 </td>
  170.                             </tr>
  171.                         </table>
  172.                     </td>
  173.                 </tr>
  174.                 </tr>
  175.             </table>
  176.             <table cellpadding="0" cellspacing="0" width="100%">
  177.                 <tr><td colspan="2">&nbsp;</td></tr>
  178.             </table>
  179.             <table cellpadding="0" cellspacing="0" width="100%" style="border: 1px solid black">
  180.                 <tr>
  181.                     <td colspan="2" class="result_item" style="padding: 4px;"><strong>Contacts</strong></td>
  182.                 </tr>
  183.                 <tr>
  184.                     <td colspan="2">
  185.                         <div id="result" style="width: 100%;<!---  border: 1px solid red; --->">
  186.                             <cfinclude template="/docs/divs/div_prospectContacts.cfm">
  187.                         </div>
  188.                         <div id="addForm" data-action="/docs/divs/div_prospectContacts.cfm">
  189.                         <!--- <div id="searchform" data-action="/search.cfm"> --->
  190.                           <!--- <input type="text" id="s" placeholder="Search..."> --->
  191.                             <table width="100%" border="0" cellspacing="0" cellpadding="4">
  192.                                 <tr>
  193.                                     <input type="hidden" id="prospect_id" value="#attributes.prospect_id#">
  194.                                     <td valign="top" width="17%"><input type="text" id="first_name" value="" size="25" maxlength="100" class="small"></td>
  195.                                     <td valign="top" width="17%"><input type="text" id="last_name" value="" size="25" maxlength="100" class="small"></td>
  196.                                     <td valign="top" width="17%"><input type="text" id="title" value="" size="25" maxlength="100" class="small"></td>
  197.                                     <td valign="top" width="17%"><input type="text" id="phone" value="" size="25" maxlength="100" class="small"></td>
  198.                                     <td valign="top" width="17%"><input type="text" id="email" value="" size="25" maxlength="100" class="small"></td>
  199.                                     <cfif getProspectContactTypes.recordcount GT 1>
  200.                                         <td valign="top" width="17%">
  201.                                             <select id="prospect_contact_type" class="required" class="small" style="margin-top: -10px;">
  202.                                                 <option value="" Selected>Select...</option>
  203.                                                 <cfloop query="getProspectContactTypes">
  204.                                                     <option value="#getProspectContactTypes.option_value#">#getProspectContactTypes.option_text#</option>
  205.                                                 </cfloop>
  206.                                             </select>
  207.                                         </td>
  208.                                     <cfelse>
  209.                                         <td valign="top" width="17%">&nbsp;</td>
  210.                                         <input type="hidden" id="prospect_contact_type_edit" value="#getProspectContactTypes.Option_value#">
  211.                                     </cfif>
  212.                                     <td valign="top">
  213.                                         <!--- <input type="submit" name="contactAdd" value="Add" style="height: 22px; vertical-align: bottom; padding: 0px;"> --->
  214.                                         <button type="button" id="contactAdd" style="height: 22px; vertical-align: bottom; padding: 0px;">Add</button>
  215.                                       <!--- <button type="button" id="search-button">Search</button> --->
  216.                                     </td>
  217.                                 </tr>
  218.                             </table>
  219.                         </div>
  220.                         <script>
  221.                             $(document).ready(function(){
  222.                                 // Attach a submit handler to the form
  223.                                 //$( "##contactAdd" ).click(function( event ) {
  224.                                 $("##contactAdd").on("click", function( event ) {
  225.                                   var url = $("##addForm").data("action");
  226.                                   var posting = $.post( url, {
  227.                                         prospect_id: $("##prospect_id").val(),
  228.                                         first_name: $("##first_name").val(),
  229.                                         last_name: $("##last_name").val(),
  230.                                         title: $("##title").val(),
  231.                                         phone: $("##phone").val(),
  232.                                         email: $("##email").val(),
  233.                                         prospect_contact_type: $("##prospect_contact_type").val()
  234.                                         }
  235.                                     );
  236.                                     document.getElementById('first_name').value = '';
  237.                                     document.getElementById('last_name').value = '';
  238.                                     document.getElementById('title').value = '';
  239.                                     document.getElementById('phone').value = '';
  240.                                     document.getElementById('email').value = '';
  241.                                     document.getElementById('prospect_contact_type').selectedIndex = 0;
  242.                                   posting.done(function( data ) {
  243.                                     var content = $( data ).filter( "##content" );
  244.                                         $( "##result" ).empty().append( content.html() );
  245.                                   });
  246.                                 });
  247.                             });
  248.                         </script>
  249.                     </td>
  250.                 </tr>
  251.             </table>
  252.         </td>
  253.     </tr>
  254.     </form>
  255. </table>
  256. </cfoutput>
  257.  
  258. <!--- div_prospectContacts.cfm --->
  259.  
  260. <cfsetting enablecfoutputonly="No" showdebugoutput="No">
  261. <div id="content">
  262. <cfdump var="#url#">
  263. <cfdump var="#form#">
  264.     <cfparam name="attributes.prospect_id" default="0">
  265.     <!--- Delete called --->
  266.     <cfif isDefined('url.del')>
  267.         <cfset attributes.prospect_id = url.prospect_id>
  268.         <cfquery name="delProspectContact" datasource="#application.dsn#">
  269.             DELETE FROM Prospect_Contacts
  270.             WHERE Contact_ID = <cfqueryparam value="#form.contact_id#" cfsqltype="CF_SQL_INTEGER">
  271.         </cfquery>
  272.     </cfif>
  273.     <!--- Edit called --->
  274.     <cfif isDefined('form.contact_id') AND NOT isDefined('url.del')>
  275.         <cfset attributes.editID = form.contact_id>
  276.         <cfset attributes.edit = 1>
  277.         <cfset attributes.prospect_id = url.prospect_id>
  278.     <cfelse>
  279.         <cfset attributes.edit = 0>
  280.     </cfif>
  281.     <cfif isDefined('form.prospect_id')>
  282.         <cfset attributes.prospect_id = form.prospect_id>
  283.         <cfquery name="addProspectContact" datasource="#application.dsn#">
  284.             INSERT INTO Prospect_Contacts (Prospect_ID, First_Name, Last_Name, Title, Phone, Email, Contact_Type)
  285.             VALUES (<cfqueryparam value="#form.Prospect_ID#" cfsqltype="CF_SQL_INTEGER">,
  286.                             <cfqueryparam value="#form.first_name#" cfsqltype="CF_SQL_VARCHAR">,
  287.                             <cfqueryparam value="#form.last_name#" cfsqltype="CF_SQL_VARCHAR">,
  288.                             <cfqueryparam value="#form.title#" cfsqltype="CF_SQL_VARCHAR">,
  289.                             <cfqueryparam value="#form.phone#" cfsqltype="CF_SQL_VARCHAR">,
  290.                             <cfqueryparam value="#form.email#" cfsqltype="CF_SQL_VARCHAR">,
  291.                             <cfqueryparam value="#form.first_name#" cfsqltype="CF_SQL_VARCHAR">)
  292.         </cfquery>
  293.     </cfif>
  294.     <cfquery name="getProspectContacts" datasource="#application.dsn#">
  295.         SELECT PC.*
  296.         FROM Prospects P INNER JOIN Prospect_Contacts PC ON P.Prospect_ID = PC.Prospect_ID
  297.         WHERE P.Prospect_ID = <cfqueryparam value="#attributes.Prospect_id#" cfsqltype="CF_SQL_INTEGER">
  298.     </cfquery>
  299.     <cfscript>
  300.         getProspectContactTypes = app.options("Prospect_Contact_Types");
  301.     </cfscript>
  302.     <cfoutput>
  303.     <table width="100%" border="0" cellspacing="0" cellpadding="4">
  304.         <tr>
  305.             <td class="result_item" valign="top" width="17%">First Name</td>
  306.             <td class="result_item" valign="top" width="17%">Last Name</td>
  307.             <td class="result_item" valign="top" width="17%">Title</td>
  308.             <td class="result_item" valign="top" width="17%">Phone</td>
  309.             <td class="result_item" valign="top" width="17%">Email</td>
  310.             <td class="result_item" valign="top" width="17%">Contact Type</td>
  311.             <td class="result_item">&nbsp;</td>
  312.         </tr>
  313.         <cfloop query="getProspectContacts">
  314.             <div id="grid#currentrow#" data-action="/docs/divs/div_prospectContacts.cfm?prospect_id=#attributes.prospect_id#">
  315.             <input type="hidden" id="contact_id#currentrow#" value="#getProspectContacts.contact_id#">
  316.             <!--- <input type="hidden" id="delcontact_id#currentrow#" value="#getProspectContacts.contact_id#"> --->
  317.             </div>
  318.             <div id="delgrid#currentrow#" data-action="/docs/divs/div_prospectContacts.cfm?prospect_id=#attributes.prospect_id#&del=1">
  319.             <input type="hidden" id="contact_id#currentrow#" value="#getProspectContacts.contact_id#">
  320.             </div>
  321.             <cfif attributes.edit EQ 1 AND attributes.editID EQ getProspectContacts.contact_id>
  322.                 <tr class="<cfif currentrow MOD 2 EQ 0>grid_row<cfelse>grid_row_alt</cfif>">
  323.                     <td valign="top" colspan="7">
  324.                         <div id="editGrid" data-action="/docs/divs/div_prospectContacts.cfm?prospect_id=#attributes.prospect_id#">
  325.                             <table width="100%" border="0" cellspacing="0" cellpadding="0">
  326.                                 <tr>
  327.                                     <td valign="top" width="17%"><input type="text" id="first_name" value="#getProspectContacts.First_Name#" size="25" maxlength="100" class="small"></td>
  328.                                     <td valign="top" width="17%"><input type="text" id="last_name" value="#getProspectContacts.Last_Name#" size="25" maxlength="100" class="small"></td>
  329.                                     <td valign="top" width="17%"><input type="text" id="title" value="#getProspectContacts.Title#" size="25" maxlength="100" class="small"></td>
  330.                                     <td valign="top" width="17%"><input type="text" id="phone" value="#getProspectContacts.Phone#" size="25" maxlength="100" class="small"></td>
  331.                                     <td valign="top" width="17%"><input type="text" id="email" value="#getProspectContacts.Email#" size="25" maxlength="100" class="small"></td>
  332.                                     <cfif getProspectContactTypes.recordcount GT 1>
  333.                                         <td valign="top" width="17%">
  334.                                             <select id="prospect_contact_type" class="required" class="small" style="margin-top: -10px;">
  335.                                                 <cfloop query="getProspectContactTypes">
  336.                                                     <option value="#getProspectContactTypes.option_value#"<cfif getProspectContacts.Contact_Type EQ getProspectContactTypes.option_value> selected</cfif>>#getProspectContactTypes.option_text#</option>
  337.                                                 </cfloop>
  338.                                             </select>
  339.                                         </td>
  340.                                     <cfelse>
  341.                                         <td valign="top" width="17%">&nbsp;</td>
  342.                                         <input type="hidden" id="prospect_contact_type" value="#getProspectContacts.Contact_Type#">
  343.                                     </cfif>
  344.                                     <td valign="top">
  345.                                         <button type="button" id="contactEdit" style="height: 22px; vertical-align: bottom; padding: 0px;">Edit</button>
  346.                                       <!--- <button type="button" id="search-button">Search</button> --->
  347.                                     </td>
  348.                                 </tr>
  349.                             </table>
  350.                         </div>
  351.                     </td>
  352.                 </tr>
  353.                 <script>
  354.                     $(document).ready(function(){
  355.                         // Attach a submit handler to the edit form when in edit mode
  356.                         //$( "##contactEdit" ).click(function( event ) {
  357.                         $('##contactEdit').on("click", function( event ) {
  358.            
  359.                         alert('EDIT'); return false;
  360.                           var url = $("##editGrid").data("action");
  361.                           var posting = $.post( url, {
  362.                                 first_name: $("##first_name").val(),
  363.                                 last_name: $("##last_name").val(),
  364.                                 title: $("##title").val(),
  365.                                 phone: $("##phone").val(),
  366.                                 email: $("##email").val(),
  367.                                 prospect_contact_type: $("##prospect_contact_type").val()
  368.                                 }
  369.                             );
  370.                           posting.done(function( data ) {
  371.                             var content = $( data ).filter( "##content" );
  372.                                 $( "##result" ).empty().append( content.html() );
  373.                           });
  374.                         });
  375.                     });
  376.                 </script>
  377.             <cfelse>
  378.                 <tr class="<cfif currentrow MOD 2 EQ 0>grid_row<cfelse>grid_row_alt</cfif>">
  379.                     <td valign="top" width="17%">#getProspectContacts.First_Name#</td>
  380.                     <td class="<cfif currentrow MOD 2 EQ 0>grid_row<cfelse>grid_row_alt</cfif>" valign="top" width="17%">#getProspectContacts.Last_Name#</td>
  381.                     <td valign="top" width="17%">#getProspectContacts.Title#</td>
  382.                     <td valign="top" width="17%">#getProspectContacts.Phone#</td>
  383.                     <td valign="top" width="17%">#getProspectContacts.Email#</td>
  384.                     <td valign="top" width="17%">#getProspectContacts.Contact_Type#</td>
  385.                     <td nowrap>
  386.                         <img src="/common/images/menu/edit.png" alt="Edit" id="editContact#currentrow#" border="0" style="cursor: pointer;">&nbsp;
  387.                         <img src="/common/images/menu/delete.png" alt="Delete" id="delContact#currentrow#" border="0" style="cursor: pointer;">
  388.                     </td>
  389.                 </tr>
  390.             </cfif>
  391.             <script>
  392.                 $(document).ready(function(){
  393.                     // Edit handler
  394.                     // $( "##editContact#currentrow#" ).click(function( event ) {
  395.                     $("##editContact#currentrow#").on("click", function( event ) {
  396.                     //$('##editContact').on('click', function( event ) {
  397.                       var url = $("##grid#currentrow#").data("action");
  398.                       var posting = $.post( url, {
  399.                             contact_id: $("##contact_id#currentrow#").val()//,
  400.                             }
  401.                         );
  402.                       posting.done(function( data ) {
  403.                         var content = $( data ).filter( "##content" );
  404.                             $( "##result" ).empty().append( content.html() );
  405.                       });
  406.                     });
  407.                     // Delete handler
  408.                     //$( "##delContact#currentrow#" ).click(function( event ) {
  409.                     $("##delContact#currentrow#").on("click", function( event ) {
  410.                         confirm('Are you sure you want to delete this contact?');
  411.        
  412.                       var url = $("##delgrid#currentrow#").data("action");
  413.                       var posting = $.post( url, {
  414.                             contact_id: $("##contact_id#currentrow#").val()
  415.                             }
  416.                         );
  417.                       posting.done(function( data ) {
  418.                         var content = $( data ).filter( "##content" );
  419.                             $( "##result" ).empty().append( content.html() );
  420.                       });
  421.                     });
  422.                 });
  423.             </script>
  424.         </cfloop>
  425.     </table>
  426.     </cfoutput>
  427. </div>
RAW Paste Data