Class: Admin::DocumentDistributionsController
- Inherits:
-
AdminController
- Object
- ApplicationController
- AdminController
- Admin::DocumentDistributionsController
- Defined in:
- app/controllers/admin/document_distributions_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /admin/document_distributions or /admin/document_distributions.json.
-
#destroy ⇒ Object
DELETE /admin/document_distributions/1 or /admin/document_distributions/1.json.
-
#destroy_all ⇒ Object
DELETE /admin/document_distributions/destroy_all.
-
#edit ⇒ Object
GET /admin/document_distributions/1/edit.
-
#index ⇒ Object
GET /admin/document_distributions or /admin/document_distributions.json.
-
#new ⇒ Object
GET /admin/document_references/new.
-
#show ⇒ Object
GET /admin/document_distributions/1 or /admin/document_distributions/1.json.
-
#update ⇒ Object
PATCH/PUT /admin/document_distributions/1 or /admin/document_distributions/1.json.
Instance Method Details
#create ⇒ Object
POST /admin/document_distributions or /admin/document_distributions.json
Creates a new document distribution. If successful, redirects to the document distributions list with a success notice. Otherwise, renders the new form with errors.
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 50 def create @document_distribution = DocumentDistribution.new(document_distribution_params) respond_to do |format| if @document_distribution.save format.html { redirect_to admin_document_document_distributions_path(@document), notice: "Document distribution was successfully created." } format.json { render :show, status: :created, location: @document_distribution } else format.html { render :new, status: :unprocessable_entity } format.json { render json: @document_distribution.errors, status: :unprocessable_entity } end end end |
#destroy ⇒ Object
DELETE /admin/document_distributions/1 or /admin/document_distributions/1.json
Deletes a document distribution. Redirects to the document distributions list with a success notice.
83 84 85 86 87 88 89 90 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 83 def destroy @document_distribution.destroy! respond_to do |format| format.html { redirect_to admin_document_document_distributions_path(@document), status: :see_other, notice: "Document distribution was successfully destroyed." } format.json { head :no_content } end end |
#destroy_all ⇒ Object
DELETE /admin/document_distributions/destroy_all
Destroys all document distributions provided in the file parameter. If successful, redirects with a success notice. Otherwise, redirects with an error notice.
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 96 def destroy_all return if request.get? logger.debug("Destroy Distributions") unless params.dig(:document_distribution, :distributions, :file) raise ArgumentError, "File does not exist or is invalid." end respond_to do |format| if DocumentDistribution.destroy_all(params.dig(:document_distribution, :distributions, :file)) format.html { redirect_to admin_document_distributions_path, notice: "Distributions were destroyed." } else format.html { redirect_to admin_document_distributions_path, notice: "Distributions could not be destroyed." } end rescue => e format.html { redirect_to admin_document_distributions_path, notice: "Distributions could not be destroyed. #{e}" } end end |
#edit ⇒ Object
GET /admin/document_distributions/1/edit
Edits an existing document distribution.
43 44 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 43 def edit end |
#index ⇒ Object
GET /admin/document_distributions or /admin/document_distributions.json
Lists all document distributions. If a document_id is provided, it lists distributions associated with that document, ordered by position. Otherwise, it paginates all document distributions.
18 19 20 21 22 23 24 25 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 18 def index @document_distributions = DocumentDistribution.all if params[:document_id] @document_distributions = DocumentDistribution.where(friendlier_id: @document.friendlier_id).order(position: :asc) else @pagy, @document_distributions = pagy(DocumentDistribution.all.order(friendlier_id: :asc, updated_at: :desc), items: 20) end end |
#new ⇒ Object
GET /admin/document_references/new
Initializes a new document distribution.
36 37 38 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 36 def new @document_distribution = DocumentDistribution.new end |
#show ⇒ Object
GET /admin/document_distributions/1 or /admin/document_distributions/1.json
Shows a specific document distribution.
30 31 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 30 def show end |
#update ⇒ Object
PATCH/PUT /admin/document_distributions/1 or /admin/document_distributions/1.json
Updates an existing document distribution. If successful, redirects to the document distribution with a success notice. Otherwise, renders the edit form with errors.
68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/controllers/admin/document_distributions_controller.rb', line 68 def update respond_to do |format| if @document_distribution.update(document_distribution_params) format.html { redirect_to admin_document_document_distributions_path(@document), notice: "Document distribution was successfully updated." } format.json { render :show, status: :ok, location: @document_distribution } else format.html { render :edit, status: :unprocessable_entity } format.json { render json: @document_distribution.errors, status: :unprocessable_entity } end end end |