diff --git a/app/controllers/sponsor_tiers_controller.rb b/app/controllers/sponsor_tiers_controller.rb index 3f1273ab..423a3f70 100644 --- a/app/controllers/sponsor_tiers_controller.rb +++ b/app/controllers/sponsor_tiers_controller.rb @@ -4,7 +4,9 @@ class SponsorTiersController < ApplicationController # GET /sponsor_tiers # GET /sponsor_tiers.json def index - @sponsor_tiers = SponsorTier.all + # @sponsor_tiers = SponsorTier.all + user = User.find_by_login(params[:login]) + @sponsor_tiers = user.sponsor_tier end # GET /sponsor_tiers/1 @@ -14,7 +16,8 @@ class SponsorTiersController < ApplicationController # GET /sponsor_tiers/new def new - @sponsor_tier = SponsorTier.new + # @sponsor_tier = SponsorTier.new + # User.current.create end # GET /sponsor_tiers/1/edit @@ -24,6 +27,7 @@ class SponsorTiersController < ApplicationController # POST /sponsor_tiers # POST /sponsor_tiers.json def create + # print("------------\n", sponsor_tier_params, "\n------------\n") @sponsor_tier = SponsorTier.new(sponsor_tier_params) respond_to do |format| @@ -41,12 +45,13 @@ class SponsorTiersController < ApplicationController # PATCH/PUT /sponsor_tiers/1.json def update respond_to do |format| - if @sponsor_tier.update(sponsor_tier_params) + if User.current.id == @sponsor_tier.user_id && @sponsor_tier.update(sponsor_tier_params) format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully updated.' } format.json { render :show, status: :ok, location: @sponsor_tier } else format.html { render :edit } format.json { render json: @sponsor_tier.errors, status: :unprocessable_entity } + # format.json { render status: :unprocessable_entity } end end end @@ -54,10 +59,14 @@ class SponsorTiersController < ApplicationController # DELETE /sponsor_tiers/1 # DELETE /sponsor_tiers/1.json def destroy - @sponsor_tier.destroy - respond_to do |format| - format.html { redirect_to sponsor_tiers_url, notice: 'Sponsor tier was successfully destroyed.' } - format.json { head :no_content } + if User.current.id == @sponsor_tier.user_id + @sponsor_tier.destroy + respond_to do |format| + format.html { redirect_to sponsor_tiers_url, notice: 'Sponsor tier was successfully destroyed.' } + format.json { head :no_content } + end + else + format.json { render json: @sponsor_tier.errors, status: :unprocessable_entity } end end @@ -69,6 +78,6 @@ class SponsorTiersController < ApplicationController # Only allow a list of trusted parameters through. def sponsor_tier_params - params.require(:sponsor_tier).permit(:tier) + params.require(:sponsor_tier).permit(:tier, :user_id, :description) end end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index b23f2f0c..d51d0b19 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -209,6 +209,15 @@ class UsersController < ApplicationController render_ok end + def update_description + @user = User.find params[:id] + if @user.id == User.current.id && @user.update(description: params[:description]) + render_ok + else + render_error + end + end + private def load_user @user = User.find_by_login(params[:id]) || User.find_by(id: params[:id]) diff --git a/app/models/sponsor_tier.rb b/app/models/sponsor_tier.rb index 20aed963..d84462bd 100644 --- a/app/models/sponsor_tier.rb +++ b/app/models/sponsor_tier.rb @@ -1,3 +1,4 @@ class SponsorTier < ApplicationRecord belongs_to :user + end diff --git a/app/models/user.rb b/app/models/user.rb index 0ad5f541..ee61fdb9 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -99,10 +99,10 @@ class User < ApplicationRecord has_many :stopped_sponsored, class_name: 'StoppedSponsorship', foreign_key: 'developer_id', dependent: :destroy has_many :sponsor_tier, dependent: :destroy has_one :wallet, dependent: :destroy - has_many :waitlist, class_name: 'Waitlist', foreign_key: 'reviewer_id', optional: true - has_many :passed_waitlist, class_name: 'PassedWaitlist', foreign_key: 'reviewer_id', optional: true #as reviewer - has_one :application, class_name: 'Waitlist', foreign_key: 'applicant_id', optional: true - has_one :passed_application, class_name: 'PassedWaitlist', foreign_key: 'applicant_id', optional: true + has_many :waitlist, class_name: 'Waitlist', foreign_key: 'reviewer_id' + has_many :passed_waitlist, class_name: 'PassedWaitlist', foreign_key: 'reviewer_id' #as reviewer + has_one :application, class_name: 'Waitlist', foreign_key: 'applicant_id' + has_one :passed_application, class_name: 'PassedWaitlist', foreign_key: 'applicant_id' # Groups and active users diff --git a/app/views/sponsor_tiers/_sponsor_tier.json.jbuilder b/app/views/sponsor_tiers/_sponsor_tier.json.jbuilder index 3beeacb0..e06f7ab9 100644 --- a/app/views/sponsor_tiers/_sponsor_tier.json.jbuilder +++ b/app/views/sponsor_tiers/_sponsor_tier.json.jbuilder @@ -1,2 +1,2 @@ -json.extract! sponsor_tier, :id, :tier, :created_at, :updated_at +json.extract! sponsor_tier, :id, :tier, :description, :created_at, :updated_at json.url sponsor_tier_url(sponsor_tier, format: :json) diff --git a/app/views/sponsor_tiers/index.html.erb b/app/views/sponsor_tiers/index.html.erb deleted file mode 100644 index bd0f4113..00000000 --- a/app/views/sponsor_tiers/index.html.erb +++ /dev/null @@ -1,27 +0,0 @@ -
<%= notice %>
- -Tier | -- | ||
---|---|---|---|
<%= sponsor_tier.tier %> | -<%= link_to 'Show', sponsor_tier %> | -<%= link_to 'Edit', edit_sponsor_tier_path(sponsor_tier) %> | -<%= link_to 'Destroy', sponsor_tier, method: :delete, data: { confirm: 'Are you sure?' } %> | -