spec/lib/prepare_ls.cfm
2025-06-02 16:16:51 +03:00

45 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<cfsilent><!--- prepare environment --->
<!---v0.2 accessObject--->
<cfimport prefix="m" taglib="../lib"/></cfsilent><m:silent silent="No">
<cfparam name="ATTRIBUTES.entity" type="string"/>
<cfparam name="ATTRIBUTES.accessObject" type="string" default=#ATTRIBUTES.entity#/>
<cfparam name="ATTRIBUTES.key" type="string" default="#ATTRIBUTES.entity#_id"/>
<cfparam name="ATTRIBUTES.settingsKey" type="string" default="#ATTRIBUTES.entity#_ls"/>
<cfparam name="ATTRIBUTES.pageInfoOut" type="string"/>
<cfparam name="ATTRIBUTES.trackOut" type="string"/>
<cfparam name="ATTRIBUTES.recordsPerPage" type="integer" default="500"/>
<cfparam name="nStart" default="1"/>
<cfif nStart EQ 1>
<cfset thisUrl="#request.thisPage#"/>
<cfelse>
<cfset thisUrl="#request.thisPage#?nStart=#nStart#"/>
</cfif>
<m:track thisUrl="#thisUrl#" defaultBackUrl="." output="tr"/>
<cfset pageInfo=CreateObject("component","ls_page_info").init("#ATTRIBUTES.entity#","#ATTRIBUTES.key#",#tr#)/>
<cfset pageInfo.recordsPerPage=#ATTRIBUTES.recordsPerPage#/>
<cfset pageInfo.nStart=#nStart#/>
<m:ac obj="#ATTRIBUTES.accessObject#" permissionOut="permission"/>
<!--- <cfoutput>#request.usrAuthenticated()# #permission#</cfoutput> --->
<!--- <cfset pageInfo.permission=#permission#/> --->
<cfset pageInfo.permission=2/>
<cfif isDefined("CALLER.reset_filter")> <!---*** --->
<m:settings action="clear" key="#ATTRIBUTES.settingsKey#.filter"/>
</cfif>
<m:settings key="#ATTRIBUTES.settingsKey#" output="settings"><!---*** грязно: мы работаем с сортировкой, а синхронизируем весь контейнер и получаем его побочным эффектом для дальнейшего использования --->
<m:sortparam sort=#settings.sort# sortlength=2/><!---*** вот где устанавливается длина массива сортировки--->
</m:settings>
<cfset pageInfo.settings=settings/><!--- unlike m:track, output="CALLER.settings" wouldnt't work for m:settings because of some StructFind --->
<cfset "CALLER.#ATTRIBUTES.trackOut#"=#tr#/>
<cfset "CALLER.#ATTRIBUTES.pageInfoOut#"=#pageInfo#/>
<cfexit method="exittag"/>
</m:silent>