34 lines
2.2 KiB
Plaintext
34 lines
2.2 KiB
Plaintext
<cfsilent></cfsilent><!--- prepare environment --->
|
|
<!--- v02 17:35 28.06.2018--->
|
|
<!---14:55 29.06.2018 bug fixed--->
|
|
<!---v03 2025-06-05 06:25 added ATTRIBUTES.defaultBackUrl--->
|
|
<cfimport prefix="m" taglib="../lib"/>
|
|
|
|
<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"/><!--- для составных ключей рекомендуется "undefined" *** можно сделать листом, и дальше конструировать, как ни в чем не бывало --->
|
|
<cfparam name="ATTRIBUTES.pageInfoOut" type="string"/>
|
|
<cfparam name="ATTRIBUTES.formEncType" type="string" default=""/>
|
|
<cfparam name="ATTRIBUTES.trackOut" type="string" default="tr"/>
|
|
|
|
<cfparam name="ATTRIBUTES.defaultBackUrl" default="#ATTRIBUTES.entity#_ls.cfm"/><!--- для зависимых сущностей передавать обязательно --->
|
|
<cfparam name="ATTRIBUTES.thisUrl" default=""/><!--- для составных ключей передавать обязательно *** выбрасывать исключение --->
|
|
<!--- заново конструируем Url текущей страницы, без трека --->
|
|
<cfif len(ATTRIBUTES.thisUrl) EQ 0><!--- наугад используем типовое соглашение--->
|
|
<cfparam name="#ATTRIBUTES.key#" default="-1"/>
|
|
<cfset id=evaluate("#ATTRIBUTES.key#")/><!---*** неизящно, зато безопасно---><!--- *** как-то не слишком безопасно --->
|
|
<cfset ATTRIBUTES.thisUrl="#request.thisPage#?#ATTRIBUTES.key#=#id#"/>
|
|
</cfif>
|
|
|
|
<m:ac obj="#ATTRIBUTES.accessObject#" permissionOut="permission"/>
|
|
<cfset permission=2/><!--- *** --->
|
|
|
|
<m:track thisUrl="#ATTRIBUTES.thisUrl#" defaultBackUrl="#ATTRIBUTES.defaultBackUrl#" output="track"/>
|
|
|
|
<cfset pageInfo=CreateObject("component","detail_page_info").init("#ATTRIBUTES.entity#","#ATTRIBUTES.key#",#track#,"#permission#","frm",#request.thisPage#,"POST","#ATTRIBUTES.formEncType#")/>
|
|
|
|
<cfset "CALLER.#ATTRIBUTES.trackOut#"=#track#/>
|
|
<cfset "CALLER.#ATTRIBUTES.pageInfoOut#"=#pageInfo#/>
|
|
|
|
<cfexit method="exittag"/>
|