app/components/avo/views/resource_new_component.rb
# frozen_string_literal: true class Avo::Views::ResourceNewComponent < ViewComponent::Base include Avo::ResourcesHelper include Avo::ApplicationHelper def initialize( resource: nil, model: nil ) @resource = resource @model = model end def back_path if via_resource? helpers.resource_path(model: params[:via_relation_class].safe_constantize, resource: relation_resource, resource_id: params[:via_resource_id]) else helpers.resources_path(resource: @resource) end end # The create button is dependent on the new? policy method. # The create? should be called only when the user clicks the Save button so the developers gets access to the params from the form. def can_see_the_save_button? @resource.authorization.authorize_action :new, raise_exception: false end private def via_resource? params[:via_relation_class].present? && params[:via_resource_id].present? end def relation_resource ::Avo::App.get_resource_by_model_name params[:via_relation_class].safe_constantize end end
Source Files
- app/components/avo/actions_component.rb
- app/components/avo/alert_component.rb
- app/components/avo/base_component.rb
- app/components/avo/blank_field_component.rb
- app/components/avo/button_component.rb
- app/components/avo/card_component.rb
- app/components/avo/common_field_wrapper_component.rb
- app/components/avo/dashboards/divider_component.rb
- app/components/avo/edit/field_wrapper_component.rb
- app/components/avo/empty_state_component.rb
- app/components/avo/fields/badge_field/index_component.rb
- app/components/avo/fields/badge_field/show_component.rb
- app/components/avo/fields/belongs_to_field/autocomplete_component.rb
- app/components/avo/fields/belongs_to_field/edit_component.rb
- app/components/avo/fields/belongs_to_field/index_component.rb
- app/components/avo/fields/belongs_to_field/show_component.rb
- app/components/avo/fields/boolean_field/edit_component.rb
- app/components/avo/fields/boolean_field/index_component.rb
- app/components/avo/fields/boolean_field/show_component.rb
- app/components/avo/fields/boolean_group_field/edit_component.rb
- app/components/avo/fields/boolean_group_field/index_component.rb
- app/components/avo/fields/boolean_group_field/show_component.rb
- app/components/avo/fields/code_field/edit_component.rb
- app/components/avo/fields/code_field/show_component.rb
- app/components/avo/fields/common/badge_viewer_component.rb
- app/components/avo/fields/common/boolean_check_component.rb
- app/components/avo/fields/common/boolean_group_component.rb
- app/components/avo/fields/common/files_list_viewer_component.rb
- app/components/avo/fields/common/gravatar_viewer_component.rb
- app/components/avo/fields/common/heading_component.rb
- app/components/avo/fields/common/key_value_component.rb
- app/components/avo/fields/common/single_file_viewer_component.rb
- app/components/avo/fields/common/status_viewer_component.rb
- app/components/avo/fields/country_field/edit_component.rb
- app/components/avo/fields/country_field/index_component.rb
- app/components/avo/fields/country_field/show_component.rb
- app/components/avo/fields/date_field/edit_component.rb
- app/components/avo/fields/date_field/index_component.rb
- app/components/avo/fields/date_field/show_component.rb
- app/components/avo/fields/date_time_field/edit_component.rb
- app/components/avo/fields/date_time_field/index_component.rb
- app/components/avo/fields/date_time_field/show_component.rb
- app/components/avo/fields/edit_component.rb
- app/components/avo/fields/external_image_field/edit_component.rb
- app/components/avo/fields/external_image_field/index_component.rb
- app/components/avo/fields/external_image_field/show_component.rb
- app/components/avo/fields/file_field/edit_component.rb
- app/components/avo/fields/file_field/index_component.rb
- app/components/avo/fields/file_field/show_component.rb
- app/components/avo/fields/files_field/edit_component.rb
- app/components/avo/fields/files_field/index_component.rb
- app/components/avo/fields/files_field/show_component.rb
- app/components/avo/fields/gravatar_field/index_component.rb
- app/components/avo/fields/gravatar_field/show_component.rb
- app/components/avo/fields/has_many_field/show_component.rb
- app/components/avo/fields/has_one_field/index_component.rb
- app/components/avo/fields/has_one_field/show_component.rb
- app/components/avo/fields/heading_field/edit_component.rb
- app/components/avo/fields/heading_field/show_component.rb
- app/components/avo/fields/hidden_field/edit_component.rb
- app/components/avo/fields/id_field/edit_component.rb
- app/components/avo/fields/id_field/index_component.rb
- app/components/avo/fields/id_field/show_component.rb
- app/components/avo/fields/index_component.rb
- app/components/avo/fields/key_value_field/edit_component.rb
- app/components/avo/fields/key_value_field/show_component.rb
- app/components/avo/fields/markdown_field/edit_component.rb
- app/components/avo/fields/markdown_field/show_component.rb
- app/components/avo/fields/number_field/edit_component.rb
- app/components/avo/fields/number_field/index_component.rb
- app/components/avo/fields/number_field/show_component.rb
- app/components/avo/fields/password_field/edit_component.rb
- app/components/avo/fields/progress_bar_field/edit_component.rb
- app/components/avo/fields/progress_bar_field/index_component.rb
- app/components/avo/fields/progress_bar_field/show_component.rb
- app/components/avo/fields/select_field/edit_component.rb
- app/components/avo/fields/select_field/index_component.rb
- app/components/avo/fields/select_field/show_component.rb
- app/components/avo/fields/show_component.rb
- app/components/avo/fields/status_field/edit_component.rb
- app/components/avo/fields/status_field/index_component.rb
- app/components/avo/fields/status_field/show_component.rb
- app/components/avo/fields/text_field/edit_component.rb
- app/components/avo/fields/text_field/index_component.rb
- app/components/avo/fields/text_field/show_component.rb
- app/components/avo/fields/textarea_field/edit_component.rb
- app/components/avo/fields/textarea_field/show_component.rb
- app/components/avo/fields/trix_field/edit_component.rb
- app/components/avo/fields/trix_field/show_component.rb
- app/components/avo/filters_component.rb
- app/components/avo/flash_alerts_component.rb
- app/components/avo/index/field_wrapper_component.rb
- app/components/avo/index/grid_cover_empty_state_component.rb
- app/components/avo/index/grid_item_component.rb
- app/components/avo/index/ordering/base_component.rb
- app/components/avo/index/ordering/button_component.rb
- app/components/avo/index/ordering/buttons_component.rb
- app/components/avo/index/resource_controls_component.rb
- app/components/avo/index/resource_grid_component.rb
- app/components/avo/index/resource_table_component.rb
- app/components/avo/index/table_row_component.rb
- app/components/avo/loading_component.rb
- app/components/avo/modal_component.rb
- app/components/avo/paginator_component.rb
- app/components/avo/panel_component.rb
- app/components/avo/profile_item_component.rb
- app/components/avo/referrer_params_component.rb
- app/components/avo/resource_component.rb
- app/components/avo/show/field_wrapper_component.rb
- app/components/avo/sidebar/base_item_component.rb
- app/components/avo/sidebar/group_component.rb
- app/components/avo/sidebar/heading_component.rb
- app/components/avo/sidebar/item_switcher_component.rb
- app/components/avo/sidebar/link_component.rb
- app/components/avo/sidebar/section_component.rb
- app/components/avo/sidebar_component.rb
- app/components/avo/sidebar_profile_component.rb
- app/components/avo/turbo_frame_wrapper_component.rb
- app/components/avo/views/resource_edit_component.rb
- app/components/avo/views/resource_index_component.rb
- app/components/avo/views/resource_new_component.rb
- app/components/avo/views/resource_show_component.rb
- app/controllers/avo/actions_controller.rb
- app/controllers/avo/application_controller.rb
- app/controllers/avo/associations_controller.rb
- app/controllers/avo/attachments_controller.rb
- app/controllers/avo/base_controller.rb
- app/controllers/avo/dashboards_controller.rb
- app/controllers/avo/debug_controller.rb
- app/controllers/avo/home_controller.rb
- app/controllers/avo/private_controller.rb
- app/controllers/avo/resources_controller.rb
- app/controllers/avo/search_controller.rb
- app/helpers/avo/actions_helper.rb
- app/helpers/avo/application_helper.rb
- app/helpers/avo/attachments_helper.rb
- app/helpers/avo/resources_helper.rb
- app/helpers/avo/url_helpers.rb
- app/mailers/avo/application_mailer.rb
- lib/avo.rb
- lib/avo/action_model.rb
- lib/avo/app.rb
- lib/avo/base_action.rb
- lib/avo/base_card.rb
- lib/avo/base_resource.rb
- lib/avo/concerns/fetches_things.rb
- lib/avo/configuration.rb
- lib/avo/dashboards/base_dashboard.rb
- lib/avo/dashboards/base_divider.rb
- lib/avo/dashboards/chartkick_card.rb
- lib/avo/dashboards/dashboard_card.rb
- lib/avo/dashboards/metric_card.rb
- lib/avo/dashboards/partial_card.rb
- lib/avo/dynamic_router.rb
- lib/avo/engine.rb
- lib/avo/fields/badge_field.rb
- lib/avo/fields/base_field.rb
- lib/avo/fields/belongs_to_field.rb
- lib/avo/fields/boolean_field.rb
- lib/avo/fields/boolean_group_field.rb
- lib/avo/fields/code_field.rb
- lib/avo/fields/country_field.rb
- lib/avo/fields/currency_field.rb
- lib/avo/fields/date_field.rb
- lib/avo/fields/date_time_field.rb
- lib/avo/fields/external_image_field.rb
- lib/avo/fields/field_extensions/has_field_name.rb
- lib/avo/fields/field_extensions/visible_in_different_views.rb
- lib/avo/fields/file_field.rb
- lib/avo/fields/files_field.rb
- lib/avo/fields/gravatar_field.rb
- lib/avo/fields/has_and_belongs_to_many_field.rb
- lib/avo/fields/has_base_field.rb
- lib/avo/fields/has_many_field.rb
- lib/avo/fields/has_one_field.rb
- lib/avo/fields/heading_field.rb
- lib/avo/fields/hidden_field.rb
- lib/avo/fields/id_field.rb
- lib/avo/fields/key_value_field.rb
- lib/avo/fields/markdown_field.rb
- lib/avo/fields/number_field.rb
- lib/avo/fields/password_field.rb
- lib/avo/fields/progress_bar_field.rb
- lib/avo/fields/select_field.rb
- lib/avo/fields/status_field.rb
- lib/avo/fields/text_field.rb
- lib/avo/fields/textarea_field.rb
- lib/avo/fields/trix_field.rb
- lib/avo/fields_collector.rb
- lib/avo/filters/base_filter.rb
- lib/avo/filters/boolean_filter.rb
- lib/avo/filters/multiple_select_filter.rb
- lib/avo/filters/select_filter.rb
- lib/avo/filters/text_filter.rb
- lib/avo/grid_collector.rb
- lib/avo/grid_fields/body_field.rb
- lib/avo/grid_fields/grid_field.rb
- lib/avo/grid_fields/preview_field.rb
- lib/avo/grid_fields/title_field.rb
- lib/avo/has_context.rb
- lib/avo/hosts/base_host.rb
- lib/avo/hosts/dashboard_card.rb
- lib/avo/hosts/dashboard_visibility.rb
- lib/avo/hosts/ordering.rb
- lib/avo/licensing/community_license.rb
- lib/avo/licensing/h_q.rb
- lib/avo/licensing/license.rb
- lib/avo/licensing/license_manager.rb
- lib/avo/licensing/null_license.rb
- lib/avo/licensing/pro_license.rb
- lib/avo/loaders/actions_loader.rb
- lib/avo/loaders/fields_loader.rb
- lib/avo/loaders/filters_loader.rb
- lib/avo/loaders/loader.rb
- lib/avo/menu/base_item.rb
- lib/avo/menu/builder.rb
- lib/avo/menu/dashboard.rb
- lib/avo/menu/group.rb
- lib/avo/menu/link.rb
- lib/avo/menu/menu.rb
- lib/avo/menu/resource.rb
- lib/avo/menu/section.rb
- lib/avo/reloader.rb
- lib/avo/services/authorization_service.rb
- lib/avo/tools_manager.rb
- lib/avo/version.rb
- lib/generators/avo/action_generator.rb
- lib/generators/avo/chartkick_card_generator.rb
- lib/generators/avo/controller_generator.rb
- lib/generators/avo/dashboard_generator.rb
- lib/generators/avo/eject_generator.rb
- lib/generators/avo/field_generator.rb
- lib/generators/avo/filter_generator.rb
- lib/generators/avo/install_generator.rb
- lib/generators/avo/locales_generator.rb
- lib/generators/avo/metric_card_generator.rb
- lib/generators/avo/partial_card_generator.rb
- lib/generators/avo/resource_generator.rb
- lib/generators/avo/tool_generator.rb