Statement on Developmental and Regulatory Policies - ଆରବିଆଇ - Reserve Bank of India
an-error-occurred-while-processing-the-template
The following has evaluated to null or missing: ==> pDate [in template "20099#20125#21570577" at line 86, column 107] ---- 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 breadcrumbsUrlFilter = "/web/... [in template "20099#20125#21570577" at line 85, column 21] ----
1<style>
2 li.option.selected.select-category {
3 display: none;
4 }
5
6 li.option.selected.select-bulletin.selectOption {
7 display: none;
8 }
9</style>
10<#assign urlCurrent = themeDisplay.getURLCurrent() />
11<#assign hide = ""/>
12<#if urlCurrent?contains("/rbi/manage?")>
13 <#assign hide = "hide"/>
14</#if>
15<#assign user=themeDisplay.getUser() />
16<#assign roles=user.getRoles() />
17<#assign isDisplayTTS=true />
18<#assign className="" />
19<#list roles as role>
20 <#if role.getName()=="Content Checker" || role.getName()=="Content Maker" || role.getName()=="DOC Maker" ||
21 role.getName()=="DOC Checker">
22 <#assign isDisplayTTS=false />
23 <#assign className="border-0" />
24 </#if>
25</#list>
26
27<#assign UUID="" groupId=getterUtil.getLong(groupId) fileSize="" docURL="" />
28<#assign
29 dlFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
30 assetCategoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
31 journalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
32 classNameLocalService=staticUtil["com.liferay.portal.kernel.service.ClassNameLocalServiceUtil"]
33 AssetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
34 assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
35 article=journalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data, getterUtil.getDouble(.vars['reserved-article-version'].data))
36 sectionMap='' categories=assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle",
37 article.getResourcePrimKey()) isVersion=false
38 classNameId=classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle") />
39
40<#assign contentPublishDate_Data=getterUtil.getString(contentPublishDate.getData())>
41
42<#if validator.isNotNull(contentPublishDate_Data)>
43 <#assign contentPublishDate_DateObj=dateUtil.parseDate("yyyy-MM-dd", contentPublishDate_Data, locale)>
44 <#assign breadcrumbsDate=dateUtil.getDate(contentPublishDate_DateObj,"MMM dd, yyyy", locale)>
45 <#assign pDate=dateUtil.getDate(contentPublishDate_DateObj, "yyyy-MM-dd" , locale) />
46</#if>
47
48<#if categories?has_content>
49 <#list categories as category>
50 <#assign assetVocabulary=AssetVocabularyLocalService.fetchAssetVocabulary(category.getVocabularyId())
51 vocabularyName=assetVocabulary.getName() />
52 <#if vocabularyName=="newsectionmaster">
53 <#if sectionMap==''>
54 <#assign sectionMap=category.getTitle(locale) />
55 </#if>
56 </#if>
57 </#list>
58</#if>
59
60<input type="hidden" value="${sectionMap}" id="detail-section">
61<div id="skipContent"></div>
62
63<#-- Start breadcrumbs -->
64<div class="rbi-breadcrumbs-wrap rbi-simple-breadcrumbs-wrapper final-one full-width">
65 <div class="container">
66 <nav>
67 <ol class="breadcrumb rbi-simple-breadcrumbs">
68 <li class="breadcrumb-item">
69 <a href="/web/rbi/home">
70 ${languageUtil.get(locale, "home")}
71 </a>
72 </li>
73
74 <li class="breadcrumb-item">
75 <a href="/web/rbi/publications/publications-by-frequency">
76 ${languageUtil.get(locale,"research_publications")}
77 </a>
78 </li>
79 <li class="breadcrumb-item">
80 <a href="/web/rbi/publications/rbi-bulletin">
81 ${languageUtil.get(locale,"rbi-bulletin")}
82 </a>
83 </li>
84 <li class="breadcrumb-item">
85 <#assign
86 breadcrumbsUrlFilter="/web/rbi/publications/rbi-bulletin/index?&publishDateFrom=${pDate}&publishDateTo="
87 +pDate+"&monthAndYear=false" />
88 <a href=${breadcrumbsUrlFilter}>
89 ${languageUtil.get(locale,"rbi-bulletin")}- ${breadcrumbsDate}
90 </a>
91
92 </li>
93 <li class="breadcrumb-item active" aria-current="page">
94 <#if (Text56127103.getData())?has_content>
95 ${Text56127103.getData()}
96 <#else>
97 ${.vars['reserved-article-title'].data}
98 </#if>
99 </li>
100
101 </ol>
102 </nav>
103 </div>
104</div>
105<#-- End breadcrumbs -->
106
107<#assign URL=article.getExpandoBridge().getAttribute("pdf-url")
108 ExcelURL=article.getExpandoBridge().getAttribute("doc-url") />
109<#if URL?has_content>
110 <#list URL?keys as key>
111 <#if key==locale>
112 <#assign docURL=URL?values[key_index] />
113 </#if>
114 </#list>
115</#if>
116<#if ExcelURL?has_content>
117 <#list ExcelURL?keys as key>
118 <#if key==locale>
119 <#assign excelURL=ExcelURL?values[key_index] />
120 </#if>
121 </#list>
122</#if>
123<#if docURL?has_content>
124 <#list docURL?split("/") as sValue>
125 <#if sValue?is_last>
126 <#list sValue?split("?") as uuid>
127 <#if uuid?is_first>
128 <#assign UUID=uuid />
129 </#if>
130 </#list>
131 </#if>
132 </#list>
133</#if>
134<#if excelURL?has_content>
135 <#list excelURL?split("/") as sValue>
136 <#if sValue?is_last>
137 <#list sValue?split("?") as uuid>
138 <#if uuid?is_first>
139 <#assign UUIDs=uuid />
140 </#if>
141 </#list>
142 </#if>
143 </#list>
144</#if>
145<#if UUID?has_content>
146 <#attempt>
147 <#assign dlFileEntry=dlFileEntryLocalService.fetchFileEntry(UUID,groupId?number) />
148 <#if dlFileEntry?has_content>
149 <#assign fileSize=dlFileEntry.getSize()
150 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",
151 dlFileEntry.getFileEntryId()) docURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay)
152 docURL=docURL?replace("/"+UUID,"") />
153 </#if>
154 <#recover>
155 </#attempt>
156</#if>
157<#if UUIDs?has_content>
158 <#attempt>
159 <#assign DLFileEntry=dlFileEntryLocalService.fetchFileEntry(UUIDs,groupId?number) />
160 <#if DLFileEntry?has_content>
161 <#assign excelFileSize=DLFileEntry.getSize()
162 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",DLFileEntry.getFileEntryId())
163 excelURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay) />
164 </#if>
165 <#recover>
166 </#attempt>
167
168</#if>
169
170
171
172<#assign id=article.getId() structureKey=article.getDDMStructureKey()?number structureKey=structureKey>
173 <div id="articleUniqueID" class="hide">${id}</div>
174
175 <div class="rbi_bulletin_detail_page_wrapper">
176 <div class="container pl-0 pr-0">
177 <#assign allCategory=assetCategoryLocalService.getChildCategories(21553103) />
178 <#if allCategory?has_content>
179 <div class="col-12">
180 <div class="row ${hide}">
181 <div class="col-12 col-md-3 ${hide}">
182 <div
183 class="dropdown-no-search txt-search--dd txt-search--dd--lg filter-box-dropdown-searchable">
184 <div class="filter-single-dropdown-hidden" style="display: none;"><input type="text"
185 placeholder="${languageUtil.get(locale,"bulletin-search-category")} " class=" filter-box-dropdown-searchbox"></div>
186 <select class="select-category">
187 <option value="">${languageUtil.get(locale,"bulletin-select-category")}
188 </option>
189
190 </select>
191 </div>
192 </div>
193 <div class="col-12 col-md-9">
194 <div
195 class="dropdown-no-search txt-search--dd txt-search--dd--lg filter-box-dropdown-searchable">
196 <div class="filter-single-dropdown-hidden" style="display: none;">
197 <input type="text" placeholder="${languageUtil.get(locale,"bulletin-search-bulletin")}"
198 class=" filter-box-dropdown-searchbox">
199 </div>
200 <select class="select-bulletin selectOption">
201 <option value="">${languageUtil.get(locale,"bulletin-select-bulletin")}
202 </option>
203 </select>
204 </div>
205
206 </div>
207 </div>
208 </div>
209 </#if>
210
211 <div class="Notification-content-wrap full-width dynamic-resize" tabindex="0">
212 <div class="published-on-wrapper">
213 <div class="container-fluid">
214 <div class=" published-on-contents">
215 <div class="row no-gutters article-published-row-wrapper">
216 <div class="article-published-dates-wrapper">
217
218 <div class="article-published-date">
219 <span class="published-date">
220 ${languageUtil.get(locale,"published-on")}
221 <#assign CONTENT_PUBLISH_DATE_Data=contentPublishDate_Data>
222
223 <#if validator.isNotNull(CONTENT_PUBLISH_DATE_Data)>
224 <#assign
225 CONTENT_PUBLISH_DATE_DateObj=dateUtil.parseDate("yyyy-MM-dd",
226 CONTENT_PUBLISH_DATE_Data, locale)>
227
228 ${dateUtil.getDate(CONTENT_PUBLISH_DATE_DateObj,"MMMM dd, yyyy", locale)}
229 </#if>
230 </span>
231 </div>
232 </div>
233 <div class="article-tts-view-pdf-wrapper">
234
235 <div class="article-text-to-speach-wrapper">
236 <#if isDisplayTTS>
237 <div class="listen-header">
238 <a href="javascript:void(0);" id="textSpeechButton"
239 class="tts-listen-audio">
240 <button class="player-button-outer-top">
241 <img src="/documents/20125/174906/speech-to-text-play.svg"
242 alt="${languageUtil.get(locale," listen")}" />
243 </button>
244 <span
245 class="article-text-to-speach textSpeechButton">${languageUtil.get(locale,"listen")}</span>
246 </a>
247 </div>
248 </#if>
249
250 </div>
251
252 <div class="social-media-view-on d-none">
253 View on
254 </div>
255
256
257 <div class="download-pdf-wrapper">
258 <div class="btn-wrap">
259 <#if docURL?? && docURL?has_content>
260 <div class="inner-wrap">
261 <a href="${docURL?split('?')[0]}" target="_blank"
262 class="matomo_download">
263 <img src="/documents/70233/0/fileDownload.svg"
264 class="downloadFile"
265 alt="${languageUtil.get(locale,'download')}"
266 title="${languageUtil.get(locale,'download')}">
267 <span class="fileName matomo_download">
268 ${languageUtil.get(locale,"pdf")} (<span
269 class="fileSize"> <#if fileSize?has_content>${fileSize} </#if></span>)
270 </span>
271 </a>
272 </div>
273 </#if>
274 <#if excelURL?? && excelURL?has_content>
275 <div class="inner-wrap">
276
277 <a href="${excelURL?split('?')[0]}" class="matomo_download"
278 target="_blank">
279 <img src="/documents/70233/0/fileDownload.svg"
280 class="downloadFile"
281 alt="${languageUtil.get(locale,'download')}"
282 title="${languageUtil.get(locale,'download')}">
283 <span class="fileName matomo_download">
284 <#if excelURL?contains(".doc")>
285 ${languageUtil.get(locale,"doc")}
286 <#else>
287 ${languageUtil.get(locale,"excel")}
288 </#if>(
289 <span class="fileSize"> <#if excelFileSize?has_content>${excelFileSize} </#if></span> )
290 </span> </a>
291 </div>
292 </#if>
293 </div>
294 </div>
295 </div>
296 </div>
297 </div>
298 </div>
299
300
301 <div id="mainContent">
302 <div class="published-content-wrapper migrated-data-heading">
303 <div class="container-fluid">
304 <div class="published-contents">
305 <div class="row no-gutters">
306 <div class="col-md-12 col-12">
307 <h2 class="section-heading" id="mtm_details_page_heading">
308 <#if (Text56127103.getData())?has_content && Text56127103.getData()??>
309 ${Text56127103.getData()}
310 <#else>
311 ${.vars['reserved-article-title'].data}
312 </#if>
313 </h2>
314 </div>
315
316 <div class="col-12">
317 <div id="migrated_data_dummy" class="d-none"></div>
318 <div class="migrated-data-wrap ${hide}">
319 <div class="tablebg">
320 <#if (bulletinDetails.getData())?? &&
321 bulletinDetails.getData()?has_content>
322 ${bulletinDetails.getData()}
323 </#if>
324 </div>
325 </div>
326 </div>
327 </div>
328 </div>
329 </div>
330 </div>
331 </div>
332 </div>
333 </div>
334 </div>
335 </div>
336<script>
337 const urlParams = new URLSearchParams(window.location.search);
338 const paramCategory = urlParams.get('category');
339
340 var structureKey = ${ structureKey };
341
342 function onCategoryChange(categoryId) {
343 var apiUrl = "${themeDisplay.getURLPortal()}/o/rbi-bulletin-headless-api/v1.0/getJournals?ddmStructureId=${structureKey}&categoryId=" + categoryId + "&publishedDate=${pDate}&locale=${locale}";
344
345 $.get(apiUrl, function (data, status) {
346 var bulletinOptions = '';
347 var bulletinOptionsList = '<ul>';
348
349 jQuery.each(data.items, function (index, value) {
350
351 var regex = /^(?:[0-9A-Za-z]+[.:]\s*)*/g;
352 var bulletinData = value.journalName;
353
354 if (bulletinData == 'undefined') {
355 bulletinOptions += '<option value="' + value.friendlyURL + '">' + value.journalName + '</option>';
356
357 bulletinOptionsList += '<li class="option" data-value="' + value.friendlyURL + '" data-display-text="">' + value.journalName + ' </li>';
358 } else {
359 bulletinOptions += '<option value="' + value.friendlyURL + '">' + bulletinData + '</option>';
360
361 bulletinOptionsList += '<li class="option" data-value="' + value.friendlyURL + '" data-display-text="">' + bulletinData + ' </li>';
362 }
363
364 });
365
366 bulletinOptionsList += '</ul>'
367 $(".select-bulletin .list ul").remove();
368 $(".select-bulletin option").remove();
369
370 $(".select-bulletin .list").append(bulletinOptionsList);
371 });
372 }
373
374
375
376 function loadCategory() {
377
378 var apiUrl = "${themeDisplay.getURLPortal()}/o/rbi-bulletin-headless-api/v1.0/getCategory?ddmStructureKey=${structureKey}&publishedDate=${pDate}&locale=${locale}";
379
380 $.get(apiUrl, function (data, status) {
381
382 var bulletinOptions = '';
383 var bulletinOptionsList = '<ul>';
384 jQuery.each(data.items, function (index, value) {
385 if (value.CategoryId != "24033620") {
386 bulletinOptions += '<option value="' + value.CategoryId + '" >' + value.categoryName + '</option>';
387 bulletinOptionsList += '<li class="option" data-value="' + value.CategoryId + '" data-display-text="">' + value.categoryName + ' </li>';
388 }
389 });
390
391 bulletinOptionsList += '</ul>'
392 $(".select-category .list ul").remove();
393 $(".select-category option").remove();
394
395 $(".select-category .list").append(bulletinOptionsList);
396
397 });
398 }
399
400 window.addEventListener("load", function () {
401 const locationPath = location.pathname.split("/-/")[1];
402
403 if (paramCategory) {
404 $(".select-category ul li[data-value='" + paramCategory + "']").addClass("selected");
405 $(".select-category .current").text($(".select-category ul li[data-value='" + paramCategory + "']").text().trim()).addClass("current-selected");
406 let currentTitle = $("#mtm_details_page_heading").text().trim();
407 $(".select-bulletin .current").text(currentTitle).addClass("current-selected");
408 }
409 });
410
411 $(document).ready(function () {
412 loadCategory();
413
414 if (paramCategory) {
415 onCategoryChange(paramCategory);
416 }
417
418 $(".select-category").on('change', function (e) {
419 $('li').filter(function () { return $.text([this]) === 'Select Category '; }).remove();
420 $('li').filter(function () { return $.text([this]) === 'श्रेणी चुनें '; }).remove();
421 var optionSelected = $("li.option.select-category.selected").attr('data-value');
422
423 if (optionSelected != '') {
424 onCategoryChange(optionSelected);
425 }
426 });
427
428 $(".select-bulletin").on('change', function (e) {
429
430 let curCategory = $('.select-category ul li.selected').data('value');
431 var langauge = '${locale}';
432 var optionSelected = $("li.option.select-bulletin.selectOption.selected").attr('data-value');
433
434 if ((optionSelected != '') && (optionSelected !== undefined)) {
435
436 window.location.href = "/web/rbi/-/" + optionSelected + "?category=" + curCategory;
437 }
438 });
439
440 $(".fileSize").each(function () {
441 var fileSize = $(this).html()
442 if (fileSize != "") {
443 $(this).html(formatFileSize(parseInt(fileSize), 2))
444 }
445 });
446
447 function formatFileSize(bytes, decimalPoint) {
448 if (bytes == 0)
449 return '0 Bytes';
450 var k = 1024,
451 dm = decimalPoint || 2,
452 sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
453 i = Math.floor(Math.log(bytes) / Math.log(k));
454 return (parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]);
455 }
456 });
457
458</script>
459
460<@liferay_portlet["runtime"] instanceId="99123457" portletName="com_liferay_rbi_tts_utility_RbiTtsCommonUtilityPortlet" />
ଏହି ପେଜ୍ ସହାୟକ ଥିଲା କି?