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
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 29 def create @issue = PMS::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 PMS::ValidationError => e @issue = PMS::Issue.new(title: issue_params[:title], body: issue_params[:body]) @support_user = support_user? flash.now[:error] = e. render(:new, status: PMS.unprocessable_status) end |
#edit ⇒ Object
GET /issues/:id/edit
57 58 59 60 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 57 def edit @issue = PMS::Issue.find(params[:id].to_i, repo: params[:repo]) @support_user = support_user? 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 = PMS::Issue.list( repo: @repo, state: @state, labels: @labels, page: @page, per_page: @per_page, ) end |
#new ⇒ Object
GET /issues/new
23 24 25 26 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 23 def new @issue = PMS::Issue.new @support_user = support_user? end |
#show ⇒ Object
GET /issues/:id
47 48 49 50 51 52 53 54 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 47 def show @issue = PMS::Issue.find(params[:id].to_i, repo: params[:repo]) @comments = filter_visible_comments(@issue.comments) @support_user = support_user? @current_user_id = pms_current_user.present? ? PMS::UserResolver.user_id(pms_current_user) : nil @pipeline_enabled = PMS.configuration.pipeline_enabled @pipeline_item = load_pipeline_item(@issue.number) if @pipeline_enabled end |
#update ⇒ Object
PATCH/PUT /issues/:id
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'app/controllers/plan_my_stuff/issues_controller.rb', line 63 def update @issue = PMS::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 PMS::StaleObjectError @support_user = support_user? flash.now[:error] = 'Issue was modified by someone else. Please review the latest changes and try again.' render(:edit, status: PMS.unprocessable_status) rescue PMS::ValidationError => e @support_user = support_user? flash.now[:error] = e. render(:edit, status: PMS.unprocessable_status) end |