Class: PlanMyStuff::IssuesController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- PlanMyStuff::IssuesController
- Defined in:
- app/controllers/plan_my_stuff/issues_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /issues.
-
#edit ⇒ Object
GET /issues/:id/edit.
-
#index ⇒ Object
GET /issues.
-
#new ⇒ Object
GET /issues/new.
-
#show ⇒ Object
GET /issues/:id.
-
#update ⇒ Object
PATCH/PUT /issues/:id.
Instance Method Details
#create ⇒ Object
POST /issues
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 28 def create @issue = PlanMyStuff::Issue.create!( title: issue_params[:title], body: issue_params[:body], labels: parse_labels(issue_params[:labels]), user: pms_current_user, ) flash[:success] = 'Issue was successfully created.' redirect_to(plan_my_stuff.issue_path(@issue.number, repo: @issue.repo.full_name)) rescue PlanMyStuff::ValidationError => e pms_handle_rescue(e) @issue = PlanMyStuff::Issue.new(title: issue_params[:title], body: issue_params[:body]) flash.now[:error] = e. render(:new, status: PlanMyStuff.unprocessable_status) end |
#edit ⇒ Object
GET /issues/:id/edit
56 57 58 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 56 def edit @issue = PlanMyStuff::Issue.find(params[:id].to_i, repo: params[:repo]) end |
#index ⇒ Object
GET /issues
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 6 def index @page = (params[:page] || 1).to_i @per_page = (params[:per_page] || 25).to_i @state = (params[:state] || 'open').to_sym @labels = params[:labels].present? ? Array.wrap(params[:labels]) : [] @repo = params[:repo] @issues = PlanMyStuff::Issue.list( repo: @repo, state: @state, labels: @labels, page: @page, per_page: @per_page, ) end |
#new ⇒ Object
GET /issues/new
23 24 25 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 23 def new @issue = PlanMyStuff::Issue.new end |
#show ⇒ Object
GET /issues/:id
46 47 48 49 50 51 52 53 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 46 def show @issue = PlanMyStuff::Issue.find(params[:id].to_i, repo: params[:repo]) @comments = filter_visible_comments(@issue.comments) @current_user_id = pms_current_user.present? ? PlanMyStuff::UserResolver.user_id(pms_current_user) : nil @current_user_login = PlanMyStuff.configuration.github_login_for[@current_user_id] @pipeline_enabled = PlanMyStuff.configuration.pipeline_enabled @pipeline_item = load_pipeline_item(@issue.number) if @pipeline_enabled end |
#update ⇒ Object
PATCH/PUT /issues/:id
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 61 def update @issue = PlanMyStuff::Issue.find(params[:id].to_i, repo: params[:repo]) @issue.update!( title: issue_params[:title], body: issue_params[:body], labels: parse_labels(issue_params[:labels]), ) flash[:success] = 'Issue was successfully updated.' redirect_to(plan_my_stuff.issue_path(@issue.number, repo: @issue.repo.full_name)) rescue PlanMyStuff::StaleObjectError => e pms_handle_rescue(e) flash.now[:error] = 'Issue was modified by someone else. Please review the latest changes and try again.' render(:edit, status: PlanMyStuff.unprocessable_status) rescue PlanMyStuff::ValidationError => e pms_handle_rescue(e) flash.now[:error] = e. render(:edit, status: PlanMyStuff.unprocessable_status) end |