Class: Vulgata::TranslationsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Vulgata::TranslationsController
- Defined in:
- app/controllers/vulgata/translations_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /translation_states/1/translations.
-
#edit ⇒ Object
GET /translation_states/1/translations/edit.
-
#get_suggested_translation ⇒ Object
GET /get_suggested_translation.
-
#index ⇒ Object
GET /admin/ModelName.
-
#new ⇒ Object
GET /translate.
-
#show ⇒ Object
GET /admin/ModelName/1.
-
#update ⇒ Object
PATCH /translation_states/1/translations.
Methods inherited from ApplicationController
#suggest_translation, #vulgata_current_user, #vulgata_users
Methods included from ControllerConfigurable
#suggest_translation, #vulgata_current_user, #vulgata_users
Methods included from Controller
#authorize_admin, #authorize_admin_or_proofreader, #authorize_admin_proofreader_or_assigned_translator, #authorize_all_role_holders, #layout_by_role, #root_redirect, #set_tranlsation_classes_if_admin, #set_tranlsation_count_if_translator, #set_vulgata_user, #translation_queue_sort
Instance Method Details
#create ⇒ Object
POST /translation_states/1/translations
61 62 63 |
# File 'app/controllers/vulgata/translations_controller.rb', line 61 def create save_version_and_redirect_to new_translations_path end |
#edit ⇒ Object
GET /translation_states/1/translations/edit
24 25 26 27 |
# File 'app/controllers/vulgata/translations_controller.rb', line 24 def edit @translation_state set_translation_state_and_source_state end |
#get_suggested_translation ⇒ Object
GET /get_suggested_translation
77 78 79 |
# File 'app/controllers/vulgata/translations_controller.rb', line 77 def get_suggested_translation suggest_translation params[:text], params[:from], params[:to] end |
#index ⇒ Object
GET /admin/ModelName
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/controllers/vulgata/translations_controller.rb', line 30 def index @resource = params[:resource] klass = @resource.constantize @items = klass.includes(:translation_states).where.not(vulgata_translation_states: { id: nil }) @items = klass.vulgata_source_scope @items # query is scoped by the source item @items = klass.vulgata_where_like(params[:q], @items) if params[:q] @items_count = @items.references(:translation_states).group("vulgata_translation_states.status").count # filter by the selected status @items = @items.where(vulgata_translation_states: { status: Vulgata::TranslationState.statuses[params[:status]] }).references(:translation_states) if (params[:status].present? && params[:status] != "all") # sorting @items = case params[:sort] when 'updated_at_desc' then @items.order('vulgata_translation_states.updated_at DESC') when 'updated_at_asc' then @items.order('vulgata_translation_states.updated_at ASC') when 'priority_desc' then @items.order('vulgata_translation_states.priority DESC') when 'priority_asc' then @items.order('vulgata_translation_states.priority ASC') else @items.order('vulgata_translation_states.priority DESC, vulgata_translation_states.updated_at DESC') end # pagination @items = @items.page(params[:page]).per(10) end |
#new ⇒ Object
GET /translate
13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/vulgata/translations_controller.rb', line 13 def new set_translator_locales @translation_state = dequeue_translation_state_for_translating return if @translation_state.nil? @state_changed_to_pending = true set_translation_state_and_source_state end |
#show ⇒ Object
GET /admin/ModelName/1
56 57 58 |
# File 'app/controllers/vulgata/translations_controller.rb', line 56 def show @resource = params[:resource].constantize.find(params[:id]) end |
#update ⇒ Object
PATCH /translation_states/1/translations
66 67 68 69 70 71 72 73 74 |
# File 'app/controllers/vulgata/translations_controller.rb', line 66 def update @translation_state and return if params[:stop_translating].present? stop_translating else save_version_and_redirect_to translation_state_path(id: @translation_state) end end |