Skip to content

Commit

Permalink
fix ruby version && logic mutator
Browse files Browse the repository at this point in the history
  • Loading branch information
usernaimandrey committed Aug 23, 2024
1 parent 5f39219 commit fecd446
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 21 deletions.
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.0
3.3.4
15 changes: 9 additions & 6 deletions app/controllers/web/admin/vacancies_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,14 @@ def create
end

def update
@vacancy = resource_vacancy.becomes(Web::Admin::VacancyForm)
if Admin::VacancyMutator.update!(@vacancy, params.permit![:vacancy])
vacancy = resource_vacancy.becomes(Web::Admin::VacancyForm)
@vacancy = Admin::VacancyMutator.update(vacancy, params.permit![:vacancy])

if @vacancy.previous_changes.present?
f(:success)
redirect_to params[:go_to] || edit_admin_vacancy_path(@vacancy)
else
f(:error, now: true, values: { messages: @vacancy.errors.messages })
render :edit, status: :unprocessable_entity
end
end
Expand All @@ -87,15 +90,15 @@ def restore
end

def cancel
@vacancy = resource_vacancy.becomes(Web::Admin::VacancyForm)
vacancy = resource_vacancy.becomes(Web::Admin::VacancyForm)

canceled = Admin::VacancyMutator.cancel!(@vacancy, params.permit![:vacancy])
@vacancy = Admin::VacancyMutator.cancel!(vacancy, params.permit![:vacancy])

if canceled
if @vacancy.canceled?
f(:success)
redirect_to params[:go_to] || new_cancelation_admin_vacancy_path(@vacancy)
else
f(:error)
f(:error, now: true, values: { messages: @vacancy.errors.messages })
render :new_cancelation, status: :unprocessable_entity
end
end
Expand Down
18 changes: 7 additions & 11 deletions app/mutators/admin/vacancy_mutator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,22 @@ def cancel!(vacancy, params = {})
cancelation_reason = params[:cancelation_reason]
vacancy.assign_attributes(cancelation_reason:)

ActiveRecord::Base.transaction do
vacancy.cancel!
if vacancy.cancel!
user.notifications.create!(kind: :vacancy_cancel, resource: vacancy)
end

vacancy.canceled?
vacancy
end

def update!(vacancy, params = {})
def update(vacancy, params = {})
user = vacancy.creator
vacancy_was_not_published = !vacancy.published?
may_create_notification = params[:state_event] == 'publish' && !vacancy.published?

ActiveRecord::Base.transaction do
vacancy.update!(params)
if params[:state_event] == 'publish' && vacancy_was_not_published
user.notifications.create!(kind: :vacancy_publish, resource: vacancy)
end
if vacancy.update(params) && may_create_notification
user.notifications.create!(kind: :vacancy_publish, resource: vacancy)
end

true
vacancy
end
end
end
4 changes: 2 additions & 2 deletions config/locales/admin/en.flash.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ en:
success: Resume published successfully
update:
success: Resume updated successfully
error: Failed to save changes. Please check form fields and try again.
error: "Failed to update job vacancy. Please correct errors in the form: %{messages}"
vacancies:
cancel:
success: Vacancy canceled successfull
error: Failed to save changes. Please check form fields and try again.
error: "Failed to decline the job. Please correct errors in the form: %{messages}"
archive:
success: Vacancy archived successfully
restore:
Expand Down
3 changes: 2 additions & 1 deletion config/locales/admin/ru.flash.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,12 @@ ru:
success: Вакансия успешно возвращена на модерацию
update:
success: Вакансия успешно обновлена
error: "Не удалось обновить вакансию. Исправьте ошибки в форме: %{messages}"
create:
success: Вакансия созданна
cancel:
success: Вакансия отклонена
error: Исправьте ошибки в форме
error: "Не удалось отклонить вакансию. Исправьте ошибки в форме: %{messages}"
users:
update:
success: Данные пользователя успешно обновлены
Expand Down

0 comments on commit fecd446

Please sign in to comment.