Tender English

​Quotations for renovation of O/o ADIT(Inv), Thrissur

टेम्पलेट के प्रोसेसिंग के समय त्रुटि हुई है.
The following has evaluated to null or missing:
==> cur_downloadContent.uploadPdf  [in template "75024455507050#20120#2377473" at line 30, column 46]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign downloadUrl = cur_downloadCon...  [in template "75024455507050#20120#2377473" at line 30, column 25]
----
1<div class="etds-section"> 
2    <div class="container"> 
3        <#if (.vars["reserved-article-title"].data)?has_content> 
4            <header class="etds-header" role="banner" aria-labelledby="etds-header-title"> 
5                <h3 class="etds-header-title" id="etds-header-title">${(.vars["reserved-article-title"].data)}</h3> 
6                <button class="etds-button--back" id="backButton"> 
7                    ${languageUtil.get(locale, "back-to-search")} 
8                </button> 
9            </header> 
10 
11        </#if> 
12       <main > 
13        <#if (shortDescription.getData())?has_content> 
14            <section class="etds-content-box"  aria-labelledby="etds-short-content"> 
15                 <h4 id="etds-short-content" class="etds-content-box-heading"> 
16                     ${languageUtil.get(locale, "short-description")} 
17                 </h4> 
18                 <div class='etds-main-content doc-view-content-main'>${shortDescription.getData()}</div> 
19            </section> 
20        </#if> 
21        <#if downloadContent.getSiblings()?has_content> 
22            <div class="etds-content-box" role="region" aria-label="Downloadable Content"> 
23                <p class='etds-download-heading'>${languageUtil.get(locale, "downloads")}</p> 
24                <#list downloadContent.getSiblings() as cur_downloadContent> 
25                    <#assign selectType=cur_downloadContent.selectType.getData()!"" /> 
26                    <#assign name="" /> 
27                    <#assign downloadUrl="" /> 
28 
29                    <#if selectType=="pdf"> 
30                        <#assign downloadUrl=cur_downloadContent.uploadPdf.getData()!"#" /> 
31                        <#assign pdfPos = downloadUrl?index_of(".pdf") /> 
32                        <#assign beforePdf = downloadUrl?substring(0, pdfPos) /> 
33                        <#assign lastSlashBeforePdf = beforePdf?last_index_of("/") /> 
34                        <#assign name = beforePdf?substring(lastSlashBeforePdf + 1) /> 
35                        <#else> 
36                            <#assign 
37                                webContentData=jsonFactoryUtil.createJSONObject(cur_downloadContent.webContentLink.getData()!"{}") /> 
38                            <#if webContentData.title??> 
39                                <#assign name=webContentData.title /> 
40                            </#if> 
41                            <#assign 
42                                downloadUrl="javaScript:openDocumentViewer('Tenders', 'articleId', '${webContentData.classPK}')" /> 
43                    </#if> 
44 
45                    <div class="etds-download-card etds-content-box"> 
46                        <div class=" etds-card-title"> 
47                            <span>${name}</span> 
48                            <@clay.icon symbol="etds-chevron-right" /> 
49                        </div> 
50 
51                        <a class="btn btn-outline-primary btn-sm etds-card-actions" href="${downloadUrl}" 
52                            rel="noopener noreferrer" <#if selectType == "pdf">target="_blank"</#if> > 
53                            ${languageUtil.get(locale, "etds-download")!"Download"} 
54                            <@clay.icon symbol="etds-download-1" /> 
55                        </a> 
56                    </div> 
57                </#list> 
58            </div> 
59        </#if> 
60			</main> 
61    </div> 
62</div> 
63 
64<script> 
65    document.getElementById('backButton')?.addEventListener('click', () => { 
66        if (document.referrer) { 
67            history.back(); 
68        } else { 
69            window.location.href = '/search'; 
70
71    }); 
72</script> 

Tender Hindi

वाहन किरये पर लेने केलिये निविदा सूचना