Class: Tenon::ItemVersionsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/tenon/item_versions_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



5
6
7
8
9
10
11
12
13
14
# File 'app/controllers/tenon/item_versions_controller.rb', line 5

def create
  @item_version = ItemVersion.new(resource_params)
  item_params = @item_version.item_type.gsub('Tenon::', '').underscore
  @item_version.attrs = params[item_params]
  @item_version.creator_id = current_user.id
  @item_version.save
  respond_to do |format|
    format.json { render status: 200, nothing: true }
  end
end

#indexObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/controllers/tenon/item_versions_controller.rb', line 27

def index
  respond_to do |format|
    # Modal
    format.html { render layout: false }

    format.json do
      params.delete(:item_id) if params[:item_id] == ''
      @item_versions = ItemVersion
        .where(params.slice(:item_type, :item_id).permit!)
        .paginate(page: params[:page], per_page: 5)

      serializer = ActiveModel::Serializer.serializer_for(ItemVersion.new)
      respond_with(
        @item_versions,
        serializer: Tenon::PaginatingSerializer,
        each_serializer: serializer,
        root: 'records',
        serialization_scope: view_context
      )
    end
  end
end

#newObject



16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/tenon/item_versions_controller.rb', line 16

def new
  @item_version = ItemVersion.new(
    item_id: params[:item_id],
    item_type: params[:item_type]
  )

  respond_to do |format|
    format.html { render layout: false }
  end
end