diff --git a/includes/admin/assets/js/um-admin-field.js b/includes/admin/assets/js/um-admin-field.js index d8843d2c..606f04a8 100644 --- a/includes/admin/assets/js/um-admin-field.js +++ b/includes/admin/assets/js/um-admin-field.js @@ -31,7 +31,31 @@ jQuery(document).ready(function() { jQuery(document).on('submit', 'form.um_add_field', function(e){ e.preventDefault(); - + var conditions = $('.um-admin-cur-condition'); + //need fields refactor + $(conditions).each( function ( i ) { + + if ( $( this ).find('[id^="_conditional_action"]').val() === '' || + $( this ).find('[id^="_conditional_field"]').val() === '' || + $( this ).find('[id^="_conditional_operator"]').val() ==='' ) + { + $(conditions[i]).find('.um-admin-remove-condition').click(); + } + } ); + conditions = $('.um-admin-cur-condition'); + $(conditions).each( function ( i ) { + var id = i === 0 ? '' : i; + + $( this ).find('[id^="_conditional_action"]').attr('name', '_conditional_action' + id); + $( this ).find('[id^="_conditional_action"]').attr('id', '_conditional_action' + id); + $( this ).find('[id^="_conditional_field"]').attr('name', '_conditional_field' + id); + $( this ).find('[id^="_conditional_field"]').attr('id', '_conditional_field' + id); + $( this ).find('[id^="_conditional_operator"]').attr('name', '_conditional_operator' + id); + $( this ).find('[id^="_conditional_operator"]').attr('id', '_conditional_operator' + id); + $( this ).find('[id^="_conditional_value"]').attr('name', '_conditional_value' + id); + $( this ).find('[id^="_conditional_value"]').attr('id', '_conditional_value' + id); + + } ); var form = jQuery(this); jQuery.ajax({ @@ -49,7 +73,6 @@ jQuery(document).ready(function() { form.css({'opacity': 1}); }, success: function(data){ - console.log(data); if (data.error){ c = 0; diff --git a/includes/admin/assets/js/um-admin-modal.js b/includes/admin/assets/js/um-admin-modal.js index e66995ac..45a860b5 100644 --- a/includes/admin/assets/js/um-admin-modal.js +++ b/includes/admin/assets/js/um-admin-modal.js @@ -190,11 +190,14 @@ jQuery(document).ready(function() { } um_admin_modal_responsive(); }); - + + + /** clone a condition **/ - jQuery(document).on('click', '.um-admin-new-condition', function(){ + jQuery(document).on('click', '.um-admin-new-condition', function() { + if ( jQuery(this).hasClass('disabled') ) return false; @@ -205,11 +208,15 @@ jQuery(document).ready(function() { //content.find('select').select2('destroy'); var template = jQuery('.um-admin-btn-content').find('.um-admin-cur-condition-template').clone(); - - template.find('input[type=text],select').each(function(){ - jQuery(this).attr('id', jQuery(this).attr('id') + length ); - jQuery(this).attr('name', jQuery(this).attr('name') + length ); - }); + // if ( length < 1 ) { + // id = ''; + // } else { + // id = length; + // } + // template.find('input[type=text],select').each(function() { + // jQuery(this).attr('id', jQuery(this).attr('id') + id ); + // jQuery(this).attr('name', jQuery(this).attr('name') + id ); + // }); template.find('input[type=text]').val(''); template.find('select').val(''); @@ -224,6 +231,20 @@ jQuery(document).ready(function() { jQuery(this).addClass('disabled'); alert( 'You already have 5 rules' ); } + //need fields refactor + var conditions = $('.um-admin-cur-condition'); + $(conditions).each( function ( i ) { + id = i === 0 ? '' : i; + $( this ).find('[id^="_conditional_action"]').attr('name', '_conditional_action' + id); + $( this ).find('[id^="_conditional_action"]').attr('id', '_conditional_action' + id); + $( this ).find('[id^="_conditional_field"]').attr('name', '_conditional_field' + id); + $( this ).find('[id^="_conditional_field"]').attr('id', '_conditional_field' + id); + $( this ).find('[id^="_conditional_operator"]').attr('name', '_conditional_operator' + id); + $( this ).find('[id^="_conditional_operator"]').attr('id', '_conditional_operator' + id); + $( this ).find('[id^="_conditional_value"]').attr('name', '_conditional_value' + id); + $( this ).find('[id^="_conditional_value"]').attr('id', '_conditional_value' + id); + } ); + }); /** @@ -247,6 +268,19 @@ jQuery(document).ready(function() { jQuery('.um-admin-new-condition').removeClass('disabled'); jQuery('.tipsy').remove(); condition.remove(); + //need fields refactor + var conditions = $('.um-admin-cur-condition'); + $(conditions).each( function ( i ) { + id = i === 0 ? '' : i; + $( this ).find('[id^="_conditional_action"]').attr('name', '_conditional_action' + id); + $( this ).find('[id^="_conditional_action"]').attr('id', '_conditional_action' + id); + $( this ).find('[id^="_conditional_field"]').attr('name', '_conditional_field' + id); + $( this ).find('[id^="_conditional_field"]').attr('id', '_conditional_field' + id); + $( this ).find('[id^="_conditional_operator"]').attr('name', '_conditional_operator' + id); + $( this ).find('[id^="_conditional_operator"]').attr('id', '_conditional_operator' + id); + $( this ).find('[id^="_conditional_value"]').attr('name', '_conditional_value' + id); + $( this ).find('[id^="_conditional_value"]').attr('id', '_conditional_value' + id); + } ); um_admin_live_update_scripts(); um_admin_modal_responsive(); }); diff --git a/includes/admin/core/class-admin-builder.php b/includes/admin/core/class-admin-builder.php index e7ff8725..7392644d 100644 --- a/includes/admin/core/class-admin-builder.php +++ b/includes/admin/core/class-admin-builder.php @@ -606,8 +606,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) { * */ function update_field() { -// var_dump($_POST); -// die; if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) die( __('Please login as administrator','ultimate-member') ); @@ -691,7 +689,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) { $field_ID = $_metakey; $field_args = $save[ $_metakey ]; - +// if () { +// +// } /** * UM hook * diff --git a/includes/core/class-fields.php b/includes/core/class-fields.php index 80a1a6a3..74f59624 100644 --- a/includes/core/class-fields.php +++ b/includes/core/class-fields.php @@ -4040,23 +4040,23 @@ if ( ! class_exists( 'um\core\Fields' ) ) { switch ($act_id) { case 'um_admin_duplicate_field': - UM()->fields()->duplicate_field( $arg1, $arg2 ); + $this->duplicate_field( $arg1, $arg2 ); break; case 'um_admin_remove_field_global': - UM()->fields()->delete_field_from_db( $arg1 ); + $this->delete_field_from_db( $arg1 ); break; case 'um_admin_remove_field': - UM()->fields()->delete_field_from_form( $arg1, $arg2 ); + $this->delete_field_from_form( $arg1, $arg2 ); break; case 'um_admin_add_field_from_predefined': - UM()->fields()->add_field_from_predefined( $arg1, $arg2, $position ); + $this->add_field_from_predefined( $arg1, $arg2, $position ); break; case 'um_admin_add_field_from_list': - UM()->fields()->add_field_from_list( $arg1, $arg2, $position ); + $this->add_field_from_list( $arg1, $arg2, $position ); break; }