From 3ba0123db48f8bab81ddf0913e1b95280ef545e8 Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期四, 31 三月 2022 17:56:53 +0800
Subject: [PATCH] Deploy0331

---
 force-app/main/default/pages/NewAndEditLead.page |  359 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 320 insertions(+), 39 deletions(-)

diff --git a/force-app/main/default/pages/NewAndEditLead.page b/force-app/main/default/pages/NewAndEditLead.page
index a18feb9..4fee35a 100644
--- a/force-app/main/default/pages/NewAndEditLead.page
+++ b/force-app/main/default/pages/NewAndEditLead.page
@@ -1,8 +1,8 @@
 <apex:page standardController="Lead" extensions="NewAndEditLeadController" id="page">
-    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
+    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}" />
     <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
-    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
-    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
+    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}" />
+    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" />
     <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script>
     <style>
         .disabledbutton {
@@ -14,16 +14,17 @@
         AWSService.sfSessionId = '{!GETSESSIONID()}';
         var staticResources = JSON.parse('{!staticResource}');
         var staticResourcesContact = JSON.parse('{!staticResourceContact}');
+        var staticResourceInquiryForm = JSON.parse('{!staticResourceInquiryForm}');
         var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}');
         var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}');
         var redirectMode = 'Save';//1. Save 2. SaveAndNew
         var requiredAPIToChangedLabelMap = new Map();
         requiredAPIToChangedLabelMap.set('LastName', '{!PIPL_Name_Label}');
-        console.log('{!contactsInfo}');
-        var VLookUpFields = new Set(['Hospital_Name__c', 'Department_Class__c', 'Contact_Name__c', 'Campaign__c']);
+        var VLookUpFields = new Set(['Hospital_Name__c', 'Department_Class__c', 'Contact_Name__c', 'Campaign__c', 'Lead_Inquiry_form__c', 'Opp_Name_Search__c']);
         function ProcessPI(leadJson, payloadForNewPI) {
             blockme();
-            if ({!isNewMode}) {
+            if ({!isNewMode
+        }) {
             NewPIToAWS(leadJson, payloadForNewPI)
         }else {
             UpdatePIToAWS(leadJson, payloadForNewPI)
@@ -74,24 +75,28 @@
             let textPhone = "[data-id='Phone']";
             //Email
             let email = document.querySelector(textEmail);
-            if(email.value!='' && !/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(email.value)){
+            if (email.value != '' && !/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(email.value)) {
                 error_msg += ';閭欢鏍煎紡閿欒';
             }
             let phone = document.querySelector(textPhone);
 
-            if(phone.value!='' && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){
+            if (phone.value != '' && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)) {
                 error_msg += ';鐢佃瘽鍙风爜閿欒';
             }
 
-            for(let e of document.getElementsByTagName('select')){
-                for(let op of e.options){
+            let es = document.getElementsByTagName('select')
+            for(let ei in es){
+                let e = es[ei];
+                for(let opi in e.options){
+                    let op = e.options[opi];
+                    if(!op)continue;
                     if(op.value == "*****" && op.selected){
                         error_msg += ';涓嬫媺妗嗕笉鑳戒富鍔ㄩ�夋嫨瀵嗘枃閫夐」';
                     }
                 }
             }
 
-            if(error_msg.length>0 && error_msg[0]== ';'){
+            if (error_msg.length > 0 && error_msg[0] == ';') {
                 error_msg = error_msg.substring(1);
             }
 
@@ -133,11 +138,22 @@
         function QueryLeadFromAWS() {
             AWSService.query(staticResources.queryUrl, '{!AWSDataId}', queryBack, staticResources.token);
         }
+        function QueryLeadFromAWSIFS() {
+            //staticResourceInquiryForm
+            AWSService.query(staticResourceInquiryForm.queryUrl, '{!AWSDataIdInquiryForm}', queryBackIFS, staticResourceInquiryForm.token);
+        }
         var queryBack = function queryBack(data) {
             console.log('data = ' + data);
-            document.querySelector("[data-id='LastName']").value = data.object.lastName.replace(/"/g,"");
-            document.querySelector("[data-id='Phone']").value = data.object.phone.replace(/"/g,"");
-            document.querySelector("[data-id='Email']").value = data.object.email.replace(/"/g,"");
+            document.querySelector("[data-id='LastName']").value = data.object.lastName == null ? '' : data.object.lastName;
+            document.querySelector("[data-id='Phone']").value = data.object.phone == null ? '' : data.object.phone;
+            document.querySelector("[data-id='Email']").value = data.object.email == null ? '' : data.object.email;
+            unblockUI();
+        };
+        var queryBackIFS = function queryBackIFS(data) {
+            console.log('data = ' + data);
+            //document.querySelector("[data-id='LastName']").value = document.querySelector("[data-id='Contact_Name__c']").value
+            document.querySelector("[data-id='Phone']").value = data.object.phone == null ? '' : data.object.phone;
+            document.querySelector("[data-id='Email']").value = data.object.email == null ? '' : data.object.email;
             unblockUI();
         };
 
@@ -211,7 +227,7 @@
             return blankRequiredFields;
         }
         function saveLeadProcess(saveMode) {
-           
+
             disableButtonStatus();
             redirectMode = saveMode;
             console.log('redirectMode' + redirectMode);
@@ -264,10 +280,11 @@
             //1. Check account value
             let accountNodeId = document.querySelector("[data-id='Hospital_Name__c']").id + '_lkid';
             let accountValue = document.getElementById(accountNodeId).value;
+            let searchContactKeyWord = document.querySelector("[data-id='Contact_Name__c']").value;
             console.log(accountValue);
             if (accountValue != '000000000000000') {
                 let baseUrl = "/apex/SearchContactPage";
-                let suffixUrl = "?contactId=" + contactNodeId + "&accountId=" + accountValue;
+                let suffixUrl = "?contactId=" + contactNodeId + "&accountId=" + accountValue+"&searchContactKeyWord=" + searchContactKeyWord;
                 let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no';
                 newSearchContactWindow = window.open(baseUrl + suffixUrl, 'Popup', newSearchContactParam);
                 if (window.focus) {
@@ -289,6 +306,7 @@
             let contactNodeId = document.querySelector("[data-id='Contact_Name__c']").id + '_lkid';
             document.getElementById(contactNodeId).value = contactInfo.ContactId;
             document.querySelector("[data-id='Contact_Name__c']").value = contactInfo.Name;
+            document.querySelector("[data-id='LastName']").value = contactInfo.Name;
         }
         function replaceSearchContactLookup() {
             let lookUpNode = htmlToElement(contactHtmlString);
@@ -298,27 +316,57 @@
                 queryContactName()
                 //document.querySelector("[data-id='Contact_Name__c']").value = '鐜嬪';
             }
-            let parentNode = document.querySelector("[data-id='Contact_Name__c']").parentNode;
-            document.querySelector("[data-id='Contact_Name__c']").removeAttribute("onchange");
-            parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Contact_Name__c']").parentNode.children[2]);
+        let parentNode = document.querySelector("[data-id='Contact_Name__c']").parentNode;
+        document.querySelector("[data-id='Contact_Name__c']").removeAttribute("onchange");
+        parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Contact_Name__c']").parentNode.children[2]);
         }
 
         function queryContactName() {
             let sfId = document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value;
-            let contactsInfo = JSON.parse('{!contactsInfo}');
-            let dataId = contactsInfo[sfId];
-            let url = staticResourcesContact.queryUrl + '?dataId=' + dataId;
-            fetch(url, {
-                method: 'GET',
-                headers: {
-                    'Content-Type': 'application/json',
-                    'pi-token': staticResources.token
-                }
-            }).then((data) => {
-                return data.json();
-            }).then((result) => {
+            let dataId = '';
+            if ('{!contactsInfo}' != '') {
+                let contactsInfo = JSON.parse('{!contactsInfo}');
+                dataId = contactsInfo[sfId];
+            } else if ('{!contactDataId}' != '') {
+                dataId = '{!contactDataId}';
+            }
+            let queryBackContactName = function queryBackContactName(result){
                 document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName;
-            })
+                //document.querySelector("[data-id='LastName']").value = result.object.lastName;
+            };
+            AWSService.query(staticResourcesContact.queryUrl, dataId, queryBackContactName, staticResourcesContact.token);
+
+            // let url = staticResourcesContact.queryUrl + '?dataId=' + dataId;
+            // fetch(url, {
+            //     method: 'GET',
+            //     headers: {
+            //         'Content-Type': 'application/json',
+            //         'pi-token': staticResources.token
+            //     }
+            // }).then((data) => {
+            //     return data.json();
+            // }).then((result) => {
+            //     document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName;
+            // })
+        }
+        function queryContactName2() {
+            let sfId = document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value;
+            let dataId = '';
+            if ('{!contactsInfo}' != '') {
+                let contactsInfo = JSON.parse('{!contactsInfo}');
+                dataId = contactsInfo[sfId];
+            } else if ('{!contactDataId}' != '') {
+                dataId = '{!contactDataId}';
+            }else{
+                //娌℃湁杩涜鍔犲瘑
+                document.querySelector("[data-id='LastName']").value = document.querySelector("[data-id='Contact_Name__c']").value;
+                return;
+            }
+            let queryBackContactName = function queryBackContactName(result){
+                document.querySelector("[data-id='Contact_Name__c']").value = result.object.lastName;
+                document.querySelector("[data-id='LastName']").value = result.object.lastName;
+            };
+            AWSService.query(staticResourcesContact.queryUrl, dataId, queryBackContactName, staticResourcesContact.token);
         }
     </script>
     <div class="bPageTitle">
@@ -385,20 +433,253 @@
             </apex:repeat>
             <script>
                 sfdcPage.appendToOnloadQueue(function () {
+
+                    //鍒ゆ柇鏄惁涓哄彧璇婚�夐」
+                    var layoutSections = JSON.parse('{!layoutSectionsStr}');
+                    for (let m = 0; m < layoutSections.length; m++) {
+                        let layoutSection = layoutSections[m].layoutFields;
+                        for (let n = 0; n < layoutSection.length; n++) {
+                            let layoutField = layoutSection[n];
+                            if (layoutField.fieldAPI != '' && document.querySelector("[data-id='"+layoutField.fieldAPI+"']") != null) {
+                                let e = document.querySelector("[data-id='"+layoutField.fieldAPI+"']");
+                                e.disabled = !(layoutField.editableField);
+                                if (!(layoutField.editableField)) {
+                                    if (e.getAttribute("multiple") && e.getAttribute("multiple") == 'multiple') {
+                                        e.parentNode.classList.add("disabledbutton");
+                                    }
+                                    if (e.tagName == 'DIV') {
+                                        e.classList.add("disabledbutton");
+                                    }
+                                }
+                            }
+                        }
+                    }
+
                     //1. Set Last Name label
                     console.log('NameLabel = ' + '{!PIPL_Name_Label}')
                     document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[0].children[0].innerText = '{!PIPL_Name_Label}';
                     //2. Query AWS Data by dataId 
                     console.log('Mode for Lead Page:' + {!isNewMode});
-                    if (!{!isNewMode}) {
-                        blockme();//for loading search by Li Jun 20220218
-                        QueryLeadFromAWS();
+                if (!{!isNewMode}) {
+                    blockme();//for loading search by Li Jun 20220218
+                    QueryLeadFromAWS();
+                }
+                //Replace Vlookup Field
+                replaceSearchContactLookup();
+                //3. Set Readonly Attribute
+                document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
+
+                //鏄惁瑙e瘑鑱旂郴浜�
+                if('{!isDecryptContact}' == '1'){
+                    queryContactName2();
+                }
+
+
+                //濡傛灉鏄骇鍝佸挩璇㈠崟杩囨潵鐨�
+                if ('{!ifc}' != '') {
+                    blockme();
+                    //鐘舵��
+                    document.querySelector("[data-id='Status']").value = '鏈窡杩�'
+                    //浼氳璇㈤棶鍗�
+                    if ('{!ifc.Id}')
+                        document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:15:j_id37_lkid').value = '{!ifc.Id}'
+                    if ('{!ifc.Name}')
+                        document.querySelector("[data-id='Lead_Inquiry_form__c']").value = '{!ifc.Name}'
+                    //瀹㈡埛濮撳悕
+                    if ('{!ifc.Contact_Id__c}')
+                        document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value = '{!ifc.Contact_Id__c}'
+                    //鍖婚櫌
+                    if ('{!ifc.Hospital_Name__c}')
+                        document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:2:j_id37_lkold').value = '{!ifc.Hospital_Name__c}'
+                    if ('{!ifc.Hospital_ID__c}')
+                        document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:2:j_id37_lkid').value = '{!ifc.Hospital_ID__c}'
+                    //鎴樼暐绉戝鍒嗙被
+                    if ('{!ifc.Department_Class__c}')
+                        document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:4:j_id37_lkold').value = '{!ifc.Department_Class__c}'
+                    if ('{!ifc.Department_ID__c}')
+                        document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:4:j_id37_lkid').value = '{!ifc.Department_ID__c}'
+                    //宸叉湁璇环鍚嶇О
+                    if ('{!ifc.Opp_Name_Search__c}')
+                        document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:12:j_id37_lkold').value = '{!ifc.Opp_Name_Search__c}'
+                    if ('{!ifc.Opp_Name_Search_ID__c}')
+                        document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:12:j_id37_lkid').value = '{!ifc.Opp_Name_Search_ID__c}'
+                    //涓昏瀛︿細
+                    if ('{!ifc.Campaign__c}')
+                        document.getElementById('page:form:block:j_id34:1:j_id35:j_id36:3:j_id37_lkold').value = '{!ifc.Campaign__c}'
+                    if ('{!ifc.Campaign_ID__c}')
+                        document.getElementById('page:form:block:j_id34:1:j_id35:j_id36:3:j_id37_lkid').value = '{!ifc.Campaign_ID__c}'
+                    //鍙栨秷鍘熷洜
+                    if ('{!ifc.Cancel_Reason__c}')
+                        document.querySelector("[data-id='Cancel_Reason__c']").value = '{!ifc.Cancel_Reason__c}'
+                    //鐢佃瘽
+                    if ('{!ifc.Phone__c}')
+                        document.querySelector("[data-id='Phone']").value = '{!ifc.Phone__c}'
+                    //閭欢
+                    if ('{!ifc.Email__c}')
+                        document.querySelector("[data-id='Email']").value = '{!ifc.Email__c}'
+                    //鍜ㄨ鍗曟潵婧�
+                    if ('{!ifc.LeadSource__c}' && document.querySelector("[data-id='LeadSource']"))
+                        document.querySelector("[data-id='LeadSource']").value = '{!ifc.LeadSource__c}'
+                    //鎰忓悜鍖哄垎
+                    if ('{!ifc.Opportunity_Division__c}')
+                        document.querySelector("[data-id='Opportunity_Division__c']").value = '{!ifc.Opportunity_Division__c}'
+                    //濮旀墭浜嬮」
+                    if ('{!ifc.Request1__c}') {
+                        var Request1__c = '{!ifc.Request1__c}';
+                        //璧嬪�肩粰绗簩涓閫夋
+                        var array = Request1__c.split(';');
+                        //璧嬪�肩粰绗簩涓閫夋
+                        for (var i = 0; i < array.length; i++) {
+                            for (var j = document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options.length - 1; j >= 0; j--) {
+                                if (array[i] == document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options[j].innerHTML) {
+                                    var option = new Option();
+                                    option.text = array[i];
+                                    option.value = j;
+                                    document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[2].children[0].add(option);
+                                }
+                            }
+                        }
+                        //鍒犻櫎绗竴涓閫夋鐨勯噸澶嶅��
+                        for (var i = 0; i < array.length; i++) {
+                            for (var j = document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options.length - 1; j >= 0; j--) {
+                                if (array[i] == document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options[j].innerHTML) {
+                                    document.querySelector("[data-id='Request__c']").parentNode.children[1].children[0].children[1].children[0].children[0].options[j] = null;
+                                }
+                            }
+                        }
                     }
-                    //Replace Vlookup Field
-                    replaceSearchContactLookup();
-                    //3. Set Readonly Attribute
-                    document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
+                    //绱ф��
+                    if ('{!ifc.Urgent__c}')
+                        document.querySelector("[data-id='urgent__c']").checked = '{!ifc.Urgent__c}' == 'false' ? false : true;
+                    //鍏徃锛堢瀹わ級 = 绉戝鍚嶇О
+                    if(document.querySelector("[data-id='Company']") && document.querySelector("[data-id='Hospital_Name__c']").value != ''){
+                        document.querySelector("[data-id='Company']").value = document.querySelector("[data-id='Hospital_Name__c']").value;
+                    }
+                    //鏌ユ壘瀹㈡埛濮撳悕
+                    queryContactName2();
+                    //瑙e瘑
+                    QueryLeadFromAWSIFS();
+                    
+                    unblockUI();
+                }
+                let previous_value = {};
+                    jQuery(".lookupInput input").each(function(i,e){
+                        let je =jQuery(e);
+
+                        let dataid = je.attr('data-id');
+                        if(['Contact_Name__c'].indexOf(dataid) < 0) return;
+
+                        jQuery(e).focus(function(){
+                            previous_value[this.id] = this.value;
+                        })
+
+                        jQuery(e).change(function(){
+                            if (previous_value[this.id] != jQuery(this).val()) {
+                                document.getElementById(this.id+'_lkid').value = '';
+                            }
+                        })
+                    })
+                    jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){
+                        setTimeout(() => {
+                            console.log(document.getElementById(this.id+'_lkid').value);
+                            var hospitalNameValue = document.getElementById(this.id+'_lkid').value;
+                            if (hospitalNameValue != "000000000000000" && hospitalNameValue != '') {
+                                console.log("hospitalNameValue = " + hospitalNameValue);
+                                var ls = ['Department_Class__c'];
+                                setVlookup(ls,hospitalNameValue);
+                            }else{
+                                clearVlookup('Department_Class__c');
+                            }
+                        }, 50);
+                    });
+                //Updated by Li Jun 20220323 Start
+                // jQuery(".lookupInput").each(function (i, e) {
+                //     let je = jQuery(e).find('input');
+                //     je.attr("readonly", "");
+                //     je.css("background", "unset");
+
+                //     let dataid = je.attr('data-id');
+                //     if (['Contact_Name__c'].indexOf(dataid) > -1)
+                //     jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="' + dataid + '" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">');
+                // })
+
+                // jQuery(".lookupInput").on("mouseenter", "img[generate]", function (e) {
+                //     this.className = "closeIconOn";
+                // });
+
+                // jQuery(".lookupInput").on("mouseleave", "img[generate]", function (e) {
+                //     this.className = "closeIcon"
+                // });
+                
+
+                // jQuery(".lookupInput").on("click", "img[generate]", function (e) {
+                //     let id = jQuery("input[data-id='" + jQuery(this).attr("data-id") + "']").attr("id");
+                //     let input = document.getElementById(id);
+                //     if (input) {
+                //         input.value = '';
+                //         let hidden = document.getElementById(id + '_lkid');
+                //         if (hidden) {
+                //             hidden.value = '';
+                //         }
+                //     }
+                // });
+                //Updated by Li Jun 20220323 Start
                 });
+
+                function setVlookup(lookups, lookup_id){
+                    //鍏徃锛堢瀹わ級
+                    document.querySelector("[data-id='Company']").value = document.querySelector("[data-id='Hospital_Name__c']").value;
+                    let controllerSaveMethod = '{!$RemoteAction.NewAndEditLeadController.queryAccount}';
+                    Visualforce.remoting.Manager.invokeAction(
+                        controllerSaveMethod, 
+                        JSON.stringify(lookups), lookup_id,
+                        function (result, event) {
+                            console.log("result = " + result);
+                            if (result != null ){
+                                var obj = JSON.parse(result.replaceAll('&'+'quot;','"'));
+                                for (let i = 0; i < lookups.length; i++) {
+                                    let lookup = lookups[i];
+                                    if (!obj[lookup]) {
+                                        continue;
+                                    }
+                                    let ele = document.querySelector("[data-id='"+lookup+"']");
+                                    let elei1 = document.getElementById(ele.id + '_lkid');
+                                    let elei2 = document.getElementById(ele.id + '_lkold');
+
+                                    ele.value=obj[lookup].Name;
+                                    elei1.value = obj[lookup].Id;
+                                    elei2.value = obj[lookup].Name;
+
+                                    let inputele = document.querySelector("[data-id='"+lookup+"']").parentNode;
+                                    if (inputele.childNodes.length > 4){
+                                        inputele.childNodes[0].style = "";
+                                        inputele.childNodes[1].style = "display: inline-block;";
+                                        inputele.childNodes[2].style = "display: none;";
+                                    }
+
+                                }
+                            }
+                        },
+                        { escape: true }
+                    );
+                };
+
+                function clearVlookup(lookup){
+                    let ele = document.querySelector("[data-id='"+lookup+"']");
+                    let elei1 = document.getElementById(ele.id + '_lkid');
+                    let elei2 = document.getElementById(ele.id + '_lkold');
+
+                    ele.value='';
+                    elei1.value = '';
+                    elei2.value = '';
+
+                    let inputele = document.querySelector("[data-id='"+lookup+"']").parentNode;
+                    if (inputele.childNodes.length > 4){
+                        inputele.childNodes[0].style = "display: none;";
+                        inputele.childNodes[1].style = "display: none;";
+                        inputele.childNodes[2].style = "";
+                    }
+                }
             </script>
             <div class="pbBottomButtons">
                 <table cellspacing="0" cellpadding="0" border="0">

--
Gitblit v1.9.1