intermediate draft
This commit is contained in:
@@ -8,16 +8,16 @@
|
||||
|
||||
|
||||
<cfif structKeyExists(ATTRIBUTES,"id")>
|
||||
<cfset id=#ATTRIBUTES.id#/>
|
||||
<cfset id=#ATTRIBUTES.id#/><!--- for composite key you can set ATTRIBUTES.id to "" and use ATTRIBUTES.queryString --->
|
||||
<cfelse>
|
||||
<cfparam name="ATTRIBUTES.data" type="struct"/>
|
||||
<cfset id=#ATTRIBUTES.data[ATTRIBUTES.pageInfo.entity &"_id"]#/>
|
||||
<cfset id=#ATTRIBUTES.data[ATTRIBUTES.pageInfo.entity &"_id"]#/><!--- так себе идея --->
|
||||
</cfif>
|
||||
|
||||
<cfparam name="ATTRIBUTES.defaultBackUrl" type="string" default="#ATTRIBUTES.pageInfo.entity#_ls.cfm"/>
|
||||
<cfparam name="ATTRIBUTES.queryString" type="string" default="#ATTRIBUTES.pageInfo.key#=#id#"/><!---works only for entities with simple integer primary key--->
|
||||
<cfparam name="ATTRIBUTES.trackOut" type="string" default=""/>
|
||||
<cfparam name="ATTRIBUTES.idAttributesOut" type="string" default=""/><!---works only for entities with simple integer primary key--->
|
||||
<cfparam name="ATTRIBUTES.idAttributesOut" type="string" default=""/><!--- cfqueryparam attribute collection, works only for entities with simple integer primary key--->
|
||||
|
||||
<m:track
|
||||
thisURL="#request.thisPage#?#ATTRIBUTES.queryString#"
|
||||
@@ -28,7 +28,7 @@
|
||||
<!--- route --->
|
||||
<cfif ATTRIBUTES.usePRG AND !ATTRIBUTES.status.errorState>
|
||||
<!--- PRG pattern--->
|
||||
<cfif structKeyExists(CALLER, "save")>
|
||||
<cfif structKeyExists(CALLER, "save")><!--- *** такое через атрибуты передать сложно, поэтому так неопрятно (кривое решение тянет за собой другие) --->
|
||||
<m:location url="#tr.selfUrl#"/>
|
||||
</cfif>
|
||||
</cfif>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<cfcomponent displayname="Generic Page Info" output="true">
|
||||
<cfproperty name="entity" type="string"/>
|
||||
<cfproperty name="key" type="string"/>
|
||||
<cfproperty name="key" type="string"/><!--- 2025-06-05 06:31:27 разрешим ему быть списком через запятую или пустой строкой ---><!--- повсеместно используется в конструкции where e.#pageInfo.key#=<cfqueryparam attributeCollection=#id#/>, для составного ключа придется написать что-то более сложное --->
|
||||
<cfproperty name="status" type="struct"/>
|
||||
<cfproperty name="track" type="struct"/>
|
||||
<cfproperty name="permission" type="integer"/>
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<cffunction name="init" access="public">
|
||||
<cfargument name="entity" type="string" required="true"/>
|
||||
<cfargument name="key" type="string" default="#arguments.entity#_id"/>
|
||||
<cfargument name="key" type="string" default="#arguments.entity#_id"/><!--- 2025-06-05 06:31:27 разрешим ему быть списком через запятую или пустой строкой, для составных ключей --->
|
||||
<cfargument name="track" type="struct" required="true"/>
|
||||
|
||||
<cfset this.entity=arguments.entity/>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<cfsilent></cfsilent><!--- prepare environment ---><!--- v02 17:35 28.06.2018---><!---14:55 29.06.2018 bug fixed--->
|
||||
<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"/>
|
||||
@@ -8,7 +11,9 @@
|
||||
<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#")/><!---*** неизящно, зато безопасно---><!--- *** как-то не слишком безопасно --->
|
||||
@@ -18,7 +23,7 @@
|
||||
<m:ac obj="#ATTRIBUTES.accessObject#" permissionOut="permission"/>
|
||||
<cfset permission=2/><!--- *** --->
|
||||
|
||||
<m:track thisUrl="#ATTRIBUTES.thisUrl#" defaultBackUrl="#ATTRIBUTES.entity#_ls.cfm" output="track"/>
|
||||
<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#")/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user