Class: Renalware::Letters::LettersController
- Inherits:
-
BaseController
- Object
- ApplicationController
- ApplicationController
- BaseController
- BaseController
- Renalware::Letters::LettersController
- Includes:
- Concerns::Pageable
- Defined in:
- app/controllers/renalware/letters/letters_controller.rb
Instance Method Summary collapse
- #author ⇒ Object
- #contact_added ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #draft_letter_failed(letter) ⇒ Object
- #draft_letter_successful(letter) ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #revise_letter_failed(letter) ⇒ Object
- #revise_letter_successful(letter) ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Methods inherited from BaseController
Methods inherited from BaseController
Instance Method Details
#author ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 17 def user = Renalware::User.find(params[:author_id]) = Letters.(user) letters = .letters.ordered.page(page).per(per_page) letters render locals: { author: , letters: present_letters(letters), columns: %i(patient) } end |
#contact_added ⇒ Object
91 92 93 94 95 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 91 def contact_added contact = @patient.contacts.find(params[:id]) @contact = ContactPresenter.new(contact) @letter = LetterFormPresenter.new(Letter.new) end |
#create ⇒ Object
43 44 45 46 47 48 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 43 def create attributes = letter_params.merge(event: find_event) DraftLetter.build .subscribe(self) .call(@patient, attributes) end |
#destroy ⇒ Object
50 51 52 53 54 55 56 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 50 def destroy letter = find_letter(params[:id]) letter letter.destroy redirect_to patient_letters_letters_path(patient) end |
#draft_letter_failed(letter) ⇒ Object
63 64 65 66 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 63 def draft_letter_failed(letter) flash.now[:error] = t(".failed", model_name: "Letter") render_form(letter, :new) end |
#draft_letter_successful(letter) ⇒ Object
58 59 60 61 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 58 def draft_letter_successful(letter) RememberedLetterPreferences.new(session).persist(letter) redirect_to_letter_show(@patient, letter) end |
#edit ⇒ Object
72 73 74 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 72 def edit render_form(find_letter(params[:id]), :edit) end |
#index ⇒ Object
13 14 15 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 13 def index render :index, locals: { letters: present_letters(find_letters), patient: patient } end |
#new ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 29 def new @patient = letter = LetterFactory.new( @patient, event: find_event, author: current_user, clinical: clinical? ) .with_contacts_as_default_ccs .build RememberedLetterPreferences.new(session).apply_to(letter) render_form(letter, :new) end |
#revise_letter_failed(letter) ⇒ Object
86 87 88 89 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 86 def revise_letter_failed(letter) flash.now[:error] = t(".failed", model_name: "Letter") render_form(letter, :edit) end |
#revise_letter_successful(letter) ⇒ Object
82 83 84 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 82 def revise_letter_successful(letter) redirect_to_letter_show(@patient, letter) end |
#show ⇒ Object
68 69 70 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 68 def show @letter = present_letter(find_letter(params[:id])) end |
#update ⇒ Object
76 77 78 79 80 |
# File 'app/controllers/renalware/letters/letters_controller.rb', line 76 def update ReviseLetter.build .subscribe(self) .call(@patient, params[:id], letter_params) end |