Skip to content

Commit

Permalink
Merge branch 'hotfix-10.7.14' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
DominicWatson committed Dec 21, 2016
2 parents c7aaf07 + da945ad commit d4b2cc4
Show file tree
Hide file tree
Showing 11 changed files with 139 additions and 79 deletions.
2 changes: 1 addition & 1 deletion box.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name":"PresideCMS",
"version":"10.7.13",
"version":"10.7.14",
"author":"Pixl8 Interactive",
"createPackageDirectory":true,
"packageDirectory":"preside",
Expand Down
2 changes: 1 addition & 1 deletion box.json.no.deps
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name":"PresideCMS",
"version":"10.7.13",
"version":"10.7.14",
"author":"Pixl8 Interactive",
"createPackageDirectory":true,
"packageDirectory":"preside",
Expand Down
2 changes: 1 addition & 1 deletion support/build/build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ build.number.remote.url=http://downloads.presidecms.com/presidecms/build.number

##############################
# MANUALLY UPDATE EACH VERSION
preside.version=10.7.13
preside.version=10.7.14
##############################

Large diffs are not rendered by default.

This file was deleted.

2 changes: 1 addition & 1 deletion system/assets/js/admin/presidecore/_presidecore.min.map

Large diffs are not rendered by default.

42 changes: 38 additions & 4 deletions system/assets/js/admin/presidecore/preside.uber.select.js
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,9 @@

UberSelect.prototype.setup_search_engine = function(){
var uberSelect = this
, i;
, i
, prefetch_url = this.form_field.getAttribute( "data-prefetch-url" )
, remote_url = this.form_field.getAttribute( "data-remote-url" );

if ( isNaN( this.prefetch_ttl ) ) {
this.prefetch_ttl = 0;
Expand All @@ -365,10 +367,18 @@
if ( this.local_options[i].empty ) { this.local_options.splice( i, 1 ); }
}

if( this.filter && this.filter.length ){
this.prefetch_url = prefetch_url + this.filter;
this.remote_url = remote_url + this.filter;
}else{
this.prefetch_url = prefetch_url;
this.remote_url = remote_url;
}

this.search_engine = new Bloodhound( {
local : this.local_options
, prefetch : ( this.prefetch_url = this.form_field.getAttribute( "data-prefetch-url" ) )
, remote : ( this.remote_url = this.form_field.getAttribute( "data-remote-url" ) )
, prefetch : this.prefetch_url
, remote : this.remote_url
, datumTokenizer : function(d) { return Bloodhound.tokenizers.whitespace( d.text ); }
, queryTokenizer : Bloodhound.tokenizers.whitespace
, limit : 100 // a sensible limit, should probably be configurable, right?!
Expand Down Expand Up @@ -409,7 +419,6 @@
, cache : false
, method : "post"
, success : callback
, async : false
} );
};

Expand Down Expand Up @@ -500,7 +509,32 @@
this.selected_item = this.container.find('.chosen-single').first();
}

this.setup_filter();
this.setup_search_engine();

if ( typeof this.filter_field !== "undefined" ) {
this.filter_field.on('change',function(){
$uberSelect.setup_filter();
$uberSelect.setup_search_engine();
});
}
};

UberSelect.prototype.setup_filter = function() {

var filterBy = this.form_field.getAttribute( "data-filter-by" )
, filterByField = this.form_field.getAttribute( "data-filter-by-field" )
, filterByValue;

this.filter = "";
this.filter_field = $( "input[name='" + filterBy + "']" );

filterByValue = this.filter_field.val();

if ( typeof filterByValue !== "undefined" ) {
this.filter = '&' + filterByField + '='+ filterByValue + '&filterByFields=' + filterBy;
}

};

UberSelect.prototype.register_observers = function() {
Expand Down
14 changes: 13 additions & 1 deletion system/handlers/admin/DataManager.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -190,15 +190,27 @@
<cfargument name="prc" type="struct" required="true" />

<cfscript>
var objectName = rc.object ?: "";
var objectName = rc.object ?: "";
var extraFilters = [];
var filterByFields = ListToArray( rc.filterByFields ?: "" );

_checkPermission( argumentCollection=arguments, key="read", object=objectName );

for( var filterByField in filterByFields ) {
if( !isEmpty( rc[filterByField] ?: "" ) ){
extraFilters.append({
filter = "#filterByField# = :#filterByField#"
, filterParams = { "#filterByField#" = rc[filterByField] }
})
}
}

var records = dataManagerService.getRecordsForAjaxSelect(
objectName = rc.object ?: ""
, maxRows = rc.maxRows ?: 1000
, searchQuery = rc.q ?: ""
, savedFilters = ListToArray( rc.savedFilters ?: "" )
, extraFilters = extraFilters
, ids = ListToArray( rc.values ?: "" )
);

Expand Down
13 changes: 7 additions & 6 deletions system/handlers/formcontrols/ObjectPicker.cfc
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
component output=false {
component {

property name="presideObjectService" inject="presideObjectService";
property name="dataManagerService" inject="dataManagerService";
property name="dataManagerService" inject="dataManagerService";

public string function index( event, rc, prc, args={} ) output=false {
var targetObject = args.object ?: "";
var ajax = args.ajax ?: true;
var savedFilters = args.objectFilters ?: "";
public string function index( event, rc, prc, args={} ) {

var targetObject = args.object ?: "";
var ajax = args.ajax ?: true;
var savedFilters = args.objectFilters ?: "";

if ( IsBoolean( ajax ) && ajax ) {
if ( not StructKeyExists( args, "prefetchUrl" ) ) {
Expand Down
14 changes: 7 additions & 7 deletions system/preside-objects/admin/audit/audit_log.cfc
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
*
*/
component extends="preside.system.base.SystemPresideObject" {
property name="detail" type="string" dbtype="text" required=true ;
property name="action" type="string" dbtype="varchar" maxLength="100" required=true indexes="action";
property name="type" type="string" dbtype="varchar" maxLength="100" required=true indexes="type";
property name="record_id" type="string" dbtype="varchar" maxLength="100" required=false indexes="record_id";
property name="uri" type="string" dbtype="varchar" maxLength="255" required=true;
property name="user_ip" type="string" dbtype="varchar" maxLength="255" required=true;
property name="user_agent" type="string" dbtype="varchar" maxLength="255" required=false;
property name="detail" type="string" dbtype="longtext" required=true;
property name="action" type="string" dbtype="varchar" maxLength="100" required=true indexes="action";
property name="type" type="string" dbtype="varchar" maxLength="100" required=true indexes="type";
property name="record_id" type="string" dbtype="varchar" maxLength="100" required=false indexes="record_id";
property name="uri" type="string" dbtype="varchar" maxLength="255" required=true;
property name="user_ip" type="string" dbtype="varchar" maxLength="255" required=true;
property name="user_agent" type="string" dbtype="varchar" maxLength="255" required=false;

property name="user" relationship="many-to-one" relatedTo="security_user" required="true" indexes="user";

Expand Down
119 changes: 66 additions & 53 deletions system/views/formcontrols/objectPicker/index.cfm
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
<cfscript>
object = args.object ?: "";
inputName = args.name ?: "";
inputId = args.id ?: "";
inputClass = args.class ?: "";
placeholder = args.placeholder ?: "";
placeholder = HtmlEditFormat( translateResource( uri=placeholder, defaultValue=placeholder ) );
defaultValue = args.defaultValue ?: "";
sortable = args.sortable ?: "";
ajax = args.ajax ?: true;
remoteUrl = args.remoteUrl ?: "";
prefetchUrl = args.prefetchUrl ?: "";
records = args.records ?: QueryNew('');
searchable = args.searchable ?: true;
multiple = args.multiple ?: false;
extraClasses = args.extraClasses ?: "";
resultTemplate = args.resultTemplate ?: "{{text}}";
selectedTemplate = args.selectedTemplate ?: "{{text}}";
disabledValues = args.disabledValues ?: "";
quickAdd = args.quickAdd ?: false;
quickAddUrl = args.quickAddUrl ?: event.buildAdminLink( linkTo="datamanager.quickAddForm", querystring="object=#object#&multiple=#IsTrue( multiple )#" );
quickAddModalTitle = translateResource( args.quickAddModalTitle ?: "cms:datamanager.quick.add.modal.title" );
quickEdit = args.quickEdit ?: false;
removeObjectPickerClass = args.removeObjectPickerClass ?: false;
objectPickerClass = removeObjectPickerClass ? "" : "object-picker" ;
object = args.object ?: "";
inputName = args.name ?: "";
inputId = args.id ?: "";
inputClass = args.class ?: "";
placeholder = args.placeholder ?: "";
placeholder = HtmlEditFormat( translateResource( uri=placeholder, defaultValue=placeholder ) );
defaultValue = args.defaultValue ?: "";
sortable = args.sortable ?: "";
ajax = args.ajax ?: true;
remoteUrl = args.remoteUrl ?: "";
prefetchUrl = args.prefetchUrl ?: "";
records = args.records ?: QueryNew('');
searchable = args.searchable ?: true;
multiple = args.multiple ?: false;
extraClasses = args.extraClasses ?: "";
resultTemplate = args.resultTemplate ?: "{{text}}";
selectedTemplate = args.selectedTemplate ?: "{{text}}";
disabled = isBoolean( args.disabled ?: "" ) && args.disabled;
disabledValues = args.disabledValues ?: "";
quickAdd = args.quickAdd ?: false;
quickAddUrl = args.quickAddUrl ?: event.buildAdminLink( linkTo="datamanager.quickAddForm", querystring="object=#object#&multiple=#IsTrue( multiple )#" );
quickAddModalTitle = translateResource( args.quickAddModalTitle ?: "cms:datamanager.quick.add.modal.title" );
quickEdit = args.quickEdit ?: false;
removeObjectPickerClass = args.removeObjectPickerClass ?: false;
objectPickerClass = removeObjectPickerClass ? "" : "object-picker" ;
resultTemplateId = Len( Trim( resultTemplate ) ) ? "result_template_" & CreateUUId() : "";
selectedTemplateId = Len( Trim( selectedTemplate ) ) ? "selected_template_" & CreateUUId() : "";
resultTemplateId = Len( Trim( resultTemplate ) ) ? "result_template_" & CreateUUId() : "";
selectedTemplateId = Len( Trim( selectedTemplate ) ) ? "selected_template_" & CreateUUId() : "";
value = event.getValue( name=inputName, defaultValue=defaultValue );
if ( not IsSimpleValue( value ) ) {
Expand Down Expand Up @@ -53,38 +54,50 @@
if ( !searchable ) {
extraClasses = ListAppend( extraClasses, "non-searchable", " " );
}
filterBy = args.filterBy ?: "";
filterByField = args.filterByField ?: filterBy;
</cfscript>

<cfoutput>
<cfif Len( Trim( resultTemplate ) ) >
<script type="text/mustache" id="#resultTemplateId#">#resultTemplate#</script>
</cfif>
<cfif Len( Trim( selectedTemplate ) ) >
<script type="text/mustache" id="#selectedTemplateId#">#selectedTemplate#</script>
<cfif !disabled>
<cfif Len( Trim( resultTemplate ) ) >
<script type="text/mustache" id="#resultTemplateId#">#resultTemplate#</script>
</cfif>
<cfif Len( Trim( selectedTemplate ) ) >
<script type="text/mustache" id="#selectedTemplateId#">#selectedTemplate#</script>
</cfif>
</cfif>
<select class="#inputClass# #objectPickerClass# #extraClasses#"
name="#inputName#"
id="#inputId#"
tabindex="#getNextTabIndex()#"
data-placeholder="#placeholder#"
data-sortable="#( IsBoolean( sortable ) && sortable ? 'true' : 'false' )#"
data-value="#HtmlEditFormat( value )#"
<cfif IsBoolean( multiple ) && multiple>
multiple="multiple"
</cfif>
<cfif Len( Trim( remoteUrl ) )>
data-remote-url="#remoteUrl#"
<select class = "#inputClass# #objectPickerClass# #extraClasses#"
name = "#inputName#"
id = "#inputId#"
<cfif !isEmpty( filterBy )>
data-filter-by='#filterBy#'
</cfif>
<cfif !isEmpty( filterByField )>
data-filter-by-field='#filterByField#'
</cfif>
<cfif disabled>disabled</cfif>
tabindex = "#getNextTabIndex()#"
data-placeholder = "#placeholder#"
data-sortable = "#( IsBoolean( sortable ) && sortable ? 'true' : 'false' )#"
data-value = "#HtmlEditFormat( value )#"
<cfif IsBoolean( multiple ) && multiple>
multiple="multiple"
</cfif>
<cfif Len( Trim( remoteUrl ) )>
data-remote-url="#remoteUrl#"
</cfif>
<cfif Len( Trim( prefetchUrl ) )>
data-prefetch-url="#prefetchUrl#"
</cfif>
<cfif Len( Trim( resultTemplateId ) )>
data-result-template="#resultTemplateId#"
</cfif>
<cfif Len( Trim( selectedTemplateId ) )>
data-selected-template="#selectedTemplateId#"
</cfif>
<cfif Len( Trim( prefetchUrl ) )>
data-prefetch-url="#prefetchUrl#"
</cfif>
<cfif Len( Trim( resultTemplateId ) )>
data-result-template="#resultTemplateId#"
</cfif>
<cfif Len( Trim( selectedTemplateId ) )>
data-selected-template="#selectedTemplateId#"
</cfif>
<cfif IsBoolean( quickAdd ) and quickAdd>
<cfif IsBoolean( quickAdd ) and quickAdd>
data-quick-add-url="#quickAddUrl#"
data-quick-add-modal-title="#quickAddModalTitle#"
</cfif>
Expand Down

0 comments on commit d4b2cc4

Please sign in to comment.