typeadmin default buttons
The following are the default buttons for typeadmin. A similar set of buttons can be passed into the typeadmin custom tag using the abuttons attribute, and modified to get the desired effect for your type administration interface.
Alternatively you can use the typeadminbutton custom tag.
recordset is a special query object variable that houses the final filtered query object used to build the grid.
Pass An Array of Buttons
<cfscript> //This data structure is used to create the buttons //remember to delimit dynamic expressions ## aDefaultButtons=arrayNew(1); editobjectURL = "#application.url.farcry#/conjuror/invocation.cfm?objectid=##recordset.objectID[recordset.currentrow]##&typename=#attributes.typename#&ref=typeadmin"; // check for base permissions oAuthorisation=request.dmsec.oAuthorisation; // set bunlock for now, needs to be set if locked objects exist bUnlock=true; //add, delete, unlock, dump, requestapproval, approve, sendtodraft // add button stBut=structNew(); stBut.type="button"; stBut.name="add"; stBut.value="#application.adminBundle[session.dmProfile.locale].add#"; stBut.class="f-submit"; stBut.onClick="window.location='#application.url.farcry#/conjuror/evocation.cfm?typename=#attributes.typename#&ref=typeadmin';"; stBut.permission="#attributes.permissionset#Create"; stBut.buttontype="add"; arrayAppend(aDefaultButtons,stBut); // delete object(s) stBut=structNew(); stBut.type="button"; stBut.name="deleteAction"; stBut.value="#application.adminBundle[session.dmProfile.locale].delete#"; stBut.class="f-submit"; // todo: i18n stBut.onClick="if(confirm('Are you sure you wish to delete these objects?')){document['typeadmin']['delete'].value=1;this.form.submit();}"; stBut.permission="#attributes.permissionset#Delete"; stBut.buttontype="delete"; arrayAppend(aDefaultButtons,stBut); // check if object uses status if (structKeyExists(application.types['#attributes.typename#'].stProps,"status")) { // Set status to pending stBut=structNew(); stBut.type="submit"; stBut.name="status"; stBut.value="#application.adminBundle[session.dmProfile.locale].requestApproval#"; stBut.class="f-submit"; stBut.onClick=""; stBut.permission="#attributes.permissionset#RequestApproval"; stBut.buttontype="requestapproval"; arrayAppend(aDefaultButtons,stBut); // set status to approved/draft //approve stBut=structNew(); stBut.type="submit"; stBut.name="status"; stBut.value="#application.adminBundle[session.dmProfile.locale].approve#"; stBut.class="f-submit"; stBut.onClick=""; stBut.permission="#attributes.permissionset#Approve"; stBut.buttontype="approve"; arrayAppend(aDefaultButtons,stBut); //send to draft stBut=structNew(); stBut.type="submit"; stBut.name="status"; stBut.value="#application.adminBundle[session.dmProfile.locale].sendToDraft#"; stBut.class="f-submit"; stBut.onClick=""; stBut.permission="#attributes.permissionset#Approve"; stBut.buttontype="sendtodraft"; arrayAppend(aDefaultButtons,stBut); } // dump objects stBut=structNew(); stBut.type="submit"; stBut.name="dump"; stBut.value="#application.adminBundle[session.dmProfile.locale].dump#"; stBut.class="f-submit"; stBut.onClick=""; stBut.permission="ObjectDumpTab"; stBut.buttontype="dump"; arrayAppend(aDefaultButtons,stBut); // check if there are locked objects if (isdefined("bUnlock")) { stBut=structNew(); stBut.type="Submit"; stBut.name="unlock"; stBut.value="#application.adminBundle[session.dmProfile.locale].unlockUC#"; stBut.class="f-submit"; stBut.onClick=""; stBut.permission=""; stBut.buttontype="unlock"; arrayAppend(aDefaultButtons,stBut); } </cfscript>