diff --git a/app/assets/javascripts/repository_columns/columns_initializers/date_column.js b/app/assets/javascripts/repository_columns/columns_initializers/date_column.js new file mode 100644 index 000000000..1bd0b5409 --- /dev/null +++ b/app/assets/javascripts/repository_columns/columns_initializers/date_column.js @@ -0,0 +1,17 @@ +/* eslint-disable no-unused-vars */ +var RepositoryDateColumnType = (function() { + return { + init: () => {}, + checkValidation: () => { + return true; + }, + loadParams: () => { + var isRange = $('#date-range').is(':checked'); + var columnType = $('#repository-column-data-type').val(); + if (isRange) { + columnType = columnType.replace('Value', 'RangeValue'); + } + return { column_type: columnType }; + } + }; +}()); diff --git a/app/assets/javascripts/repository_columns/columns_initializers/date_time_column.js b/app/assets/javascripts/repository_columns/columns_initializers/date_time_column.js index c36e56280..088e66d49 100644 --- a/app/assets/javascripts/repository_columns/columns_initializers/date_time_column.js +++ b/app/assets/javascripts/repository_columns/columns_initializers/date_time_column.js @@ -8,7 +8,10 @@ var RepositoryDateTimeColumnType = (function() { loadParams: () => { var isRange = $('#datetime-range').is(':checked'); var columnType = $('#repository-column-data-type').val(); - return { range: isRange, column_type: columnType }; + if (isRange) { + columnType = columnType.replace('Value', 'RangeValue'); + } + return { column_type: columnType }; } }; }()); diff --git a/app/assets/javascripts/repository_columns/columns_initializers/time_column.js b/app/assets/javascripts/repository_columns/columns_initializers/time_column.js new file mode 100644 index 000000000..0966e1c7a --- /dev/null +++ b/app/assets/javascripts/repository_columns/columns_initializers/time_column.js @@ -0,0 +1,17 @@ +/* eslint-disable no-unused-vars */ +var RepositoryTimeColumnType = (function() { + return { + init: () => {}, + checkValidation: () => { + return true; + }, + loadParams: () => { + var isRange = $('#time-range').is(':checked'); + var columnType = $('#repository-column-data-type').val(); + if (isRange) { + columnType = columnType.replace('Value', 'RangeValue'); + } + return { column_type: columnType }; + } + }; +}()); diff --git a/app/assets/javascripts/repository_columns/index.js b/app/assets/javascripts/repository_columns/index.js index 15692a6a2..b7fd98625 100644 --- a/app/assets/javascripts/repository_columns/index.js +++ b/app/assets/javascripts/repository_columns/index.js @@ -1,12 +1,11 @@ -/* global I18n HelperModule animateSpinner RepositoryListColumnType RepositoryStatusColumnType -RepositoryDateTimeColumnType*/ +/* global I18n HelperModule animateSpinner RepositoryListColumnType RepositoryStatusColumnType */ /* eslint-disable no-restricted-globals */ var RepositoryColumns = (function() { var manageModal = '#manage-repository-column'; var columnTypeClassNames = { RepositoryListValue: 'RepositoryListColumnType', RepositoryStatusValue: 'RepositoryStatusColumnType', - RepositoryDateValue: 'RepositoryDateTimeColumnType', + RepositoryDateValue: 'RepositoryDateColumnType', RepositoryDateTimeValue: 'RepositoryDateTimeColumnType', RepositoryTimeValue: 'RepositoryDateTimeColumnType' }; @@ -204,7 +203,6 @@ var RepositoryColumns = (function() { initManageColumnModal(); RepositoryListColumnType.init(); RepositoryStatusColumnType.init(); - RepositoryDateTimeColumnType.init(); } } }; diff --git a/app/controllers/repository_columns/date_time_columns_controller.rb b/app/controllers/repository_columns/date_time_columns_controller.rb index 991ae5f73..5d3a70a29 100644 --- a/app/controllers/repository_columns/date_time_columns_controller.rb +++ b/app/controllers/repository_columns/date_time_columns_controller.rb @@ -6,12 +6,11 @@ module RepositoryColumns before_action :load_column, only: %i(update destroy) before_action :check_create_permissions, only: :create before_action :check_manage_permissions, only: %i(update destroy) - before_action :set_data_type, only: :create def create service = RepositoryColumns::CreateColumnService .call(user: current_user, repository: @repository, team: current_team, - column_type: @column_type, + column_type: column_type_param, params: repository_column_params) if service.succeed? @@ -52,12 +51,8 @@ module RepositoryColumns params.require(:repository_column).permit(:name) end - def set_data_type + def column_type_param params.require(:repository_column).require(:column_type) - - @column_type = params.dig(:repository_column, :column_type) - @column_type.remove!('Value').concat('RangeValue') if params.dig(:repository_column, :range) - @column_type end end end diff --git a/app/views/repository_columns/_manage_column_modal_content.html.erb b/app/views/repository_columns/_manage_column_modal_content.html.erb index 380b27f8e..aaf767dff 100644 --- a/app/views/repository_columns/_manage_column_modal_content.html.erb +++ b/app/views/repository_columns/_manage_column_modal_content.html.erb @@ -91,13 +91,13 @@ -