From 1eaf2b5999b0abd4caddfb85e706d627a1205338 Mon Sep 17 00:00:00 2001 From: yasushiito Date: Sun, 8 Jun 2014 10:54:53 +0900 Subject: [PATCH] clean --- app/controllers/artists_controller.rb | 4 +- app/controllers/home_controller.rb | 14 ++ app/controllers/panels_controller.rb | 3 - app/models/artist.rb | 5 +- app/models/author.rb | 5 +- app/models/comic.rb | 14 +- app/models/comic_story.rb | 22 +-- app/models/ground_color.rb | 31 ---- app/models/ground_picture.rb | 31 ---- app/models/license.rb | 30 ---- app/models/license_group.rb | 8 -- app/models/original_picture.rb | 9 +- app/models/panel.rb | 194 +------------------------- app/models/panel_picture.rb | 31 ---- app/models/scroll.rb | 9 +- app/models/scroll_panel.rb | 10 -- app/models/sheet.rb | 170 +--------------------- app/models/speech.rb | 4 - app/models/speech_balloon.rb | 27 ---- app/models/speech_balloon_template.rb | 4 - app/models/story.rb | 7 +- app/models/story_sheet.rb | 29 ---- app/models/system_picture.rb | 20 --- app/views/artists/_form.html.erb | 15 -- app/views/artists/edit.html.erb | 4 - app/views/artists/new.html.erb | 7 - app/views/authors/_form.html.erb | 15 -- app/views/authors/edit.html.erb | 5 - app/views/authors/new.html.erb | 5 - app/views/comic_stories/_form.html.erb | 26 ---- app/views/comic_stories/edit.html.erb | 4 - app/views/comic_stories/new.html.erb | 3 - app/views/comics/_form.html.erb | 31 ---- app/views/comics/edit.html.erb | 4 - app/views/comics/new.html.erb | 5 - app/views/ground_colors/_form.html.erb | 57 -------- app/views/ground_colors/edit.html.erb | 7 - app/views/ground_colors/new.html.erb | 7 - app/views/ground_pictures/_form.html.erb | 50 ------- app/views/ground_pictures/edit.html.erb | 6 - app/views/ground_pictures/new.html.erb | 6 - app/views/home/configure.html.erb | 14 +- app/views/panel_pictures/_form.html.erb | 61 -------- app/views/panel_pictures/edit.html.erb | 22 --- app/views/panel_pictures/new.html.erb | 7 - app/views/panels/_body.html.erb | 2 +- app/views/panels/edit.html.erb | 9 -- app/views/panels/new.html.erb | 6 - app/views/panels/show.html.erb | 26 +--- app/views/pictures/browse.html.erb | 86 ------------ app/views/pictures/list.html.erb | 45 ------ app/views/scroll_panels/_form.html.erb | 26 ---- app/views/scroll_panels/edit.html.erb | 4 - app/views/scroll_panels/new.html.erb | 3 - app/views/scrolls/_form.html.erb | 31 ---- app/views/scrolls/edit.html.erb | 4 - app/views/scrolls/new.html.erb | 0 app/views/sheet_panels/_form.html.erb | 61 -------- app/views/sheet_panels/edit.html.erb | 4 - app/views/sheet_panels/new.html.erb | 3 - app/views/sheets/_form.html.erb | 103 -------------- app/views/sheets/edit.html.erb | 16 --- app/views/sheets/new.html.erb | 13 -- app/views/stories/_form.html.erb | 44 ------ app/views/stories/edit.html.erb | 4 - app/views/stories/new.html.erb | 3 - app/views/story_sheets/_form.html.erb | 26 ---- app/views/story_sheets/edit.html.erb | 4 - app/views/story_sheets/new.html.erb | 3 - lib/locmare/list_group/list/filter.rb | 24 +++- lib/locmare/list_group/list/through_filter.rb | 1 - lib/peta/root.rb | 126 +++++++++++++++++ 72 files changed, 187 insertions(+), 1532 deletions(-) delete mode 100644 app/views/artists/_form.html.erb delete mode 100644 app/views/artists/edit.html.erb delete mode 100644 app/views/artists/new.html.erb delete mode 100644 app/views/authors/_form.html.erb delete mode 100644 app/views/authors/edit.html.erb delete mode 100644 app/views/authors/new.html.erb delete mode 100644 app/views/comic_stories/_form.html.erb delete mode 100644 app/views/comic_stories/edit.html.erb delete mode 100644 app/views/comic_stories/new.html.erb delete mode 100644 app/views/comics/_form.html.erb delete mode 100644 app/views/comics/edit.html.erb delete mode 100644 app/views/comics/new.html.erb delete mode 100644 app/views/ground_colors/_form.html.erb delete mode 100644 app/views/ground_colors/edit.html.erb delete mode 100644 app/views/ground_colors/new.html.erb delete mode 100644 app/views/ground_pictures/_form.html.erb delete mode 100644 app/views/ground_pictures/edit.html.erb delete mode 100644 app/views/ground_pictures/new.html.erb delete mode 100644 app/views/panel_pictures/_form.html.erb delete mode 100644 app/views/panel_pictures/edit.html.erb delete mode 100644 app/views/panel_pictures/new.html.erb delete mode 100644 app/views/panels/edit.html.erb delete mode 100644 app/views/panels/new.html.erb delete mode 100644 app/views/pictures/browse.html.erb delete mode 100644 app/views/pictures/list.html.erb delete mode 100644 app/views/scroll_panels/_form.html.erb delete mode 100644 app/views/scroll_panels/edit.html.erb delete mode 100644 app/views/scroll_panels/new.html.erb delete mode 100644 app/views/scrolls/_form.html.erb delete mode 100644 app/views/scrolls/edit.html.erb delete mode 100644 app/views/scrolls/new.html.erb delete mode 100644 app/views/sheet_panels/_form.html.erb delete mode 100644 app/views/sheet_panels/edit.html.erb delete mode 100644 app/views/sheet_panels/new.html.erb delete mode 100644 app/views/sheets/_form.html.erb delete mode 100644 app/views/sheets/edit.html.erb delete mode 100644 app/views/sheets/new.html.erb delete mode 100644 app/views/stories/_form.html.erb delete mode 100644 app/views/stories/edit.html.erb delete mode 100644 app/views/stories/new.html.erb delete mode 100644 app/views/story_sheets/_form.html.erb delete mode 100644 app/views/story_sheets/edit.html.erb delete mode 100644 app/views/story_sheets/new.html.erb diff --git a/app/controllers/artists_controller.rb b/app/controllers/artists_controller.rb index 3f641b4f..917f7dc1 100644 --- a/app/controllers/artists_controller.rb +++ b/app/controllers/artists_controller.rb @@ -1,11 +1,11 @@ class ArtistsController < ApplicationController if Manifest.manifest.magic_numbers['run_mode'] == 0 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] - before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] + before_filter :authenticate_artist, :only => [:edit, :update, :destroy] else before_filter :authenticate_resource_reader, :only => [:index, :show, :resource_pictures] before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] - before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] + before_filter :authenticate_artist, :only => [:edit, :update, :destroy] end def self.model diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 5457786c..bff64a08 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -15,6 +15,20 @@ class HomeController < ApplicationController end def configure + @author = @operators.author + unless @author + @author = Author.new + @author.supply_default + end + @author.boosts 'post' + @author_form = Locmare::Bucket.factory @author.item_name, @author, true, true, @operators + @artist = @operators.artist + unless @artist + @artist = Artist.new + @artist.supply_default + end + @artist.boosts 'post' + @artist_form = Locmare::Bucket.factory @artist.item_name, @artist, true, true, @operators end def create_token diff --git a/app/controllers/panels_controller.rb b/app/controllers/panels_controller.rb index b6b85bc6..16ab110b 100644 --- a/app/controllers/panels_controller.rb +++ b/app/controllers/panels_controller.rb @@ -58,9 +58,6 @@ class PanelsController < ApplicationController if @operators.author @new_scroll_items = assist_items('scroll', 'private') @fresh_scroll_items = assist_items('scroll_panel', 'private').map {|sp| sp.scroll} - - @new_sheet_items = assist_items('sheet', 'private') - @fresh_sheet_items = assist_items('sheet_panel', 'private').map {|sp| sp.sheet} end } end diff --git a/app/models/artist.rb b/app/models/artist.rb index 467b6476..83ecf69e 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -11,6 +11,7 @@ class Artist < Peta::Owner def supply_default self.name = 'no name' if self.name.blank? + self.user_id = nil end def self.find_by_author author @@ -25,10 +26,6 @@ class Artist < Peta::Owner {:include => {:user => {:author => {}}} } end - def self.show_json_opt - {:include => {:user => {:author => {}}} } - end - def self.export(dt = nil) opt = {} cond = if dt diff --git a/app/models/author.rb b/app/models/author.rb index b8c236b8..0ea5aab9 100644 --- a/app/models/author.rb +++ b/app/models/author.rb @@ -13,6 +13,7 @@ class Author < Peta::Owner def supply_default self.name = 'no name' if self.name.blank? + self.user_id = nil end def working? @@ -23,8 +24,4 @@ class Author < Peta::Owner {:include => {:user => {:artist => {}}} } end - def self.show_json_opt - {:include => {:user => {:artist => {}}} } - end - end diff --git a/app/models/comic.rb b/app/models/comic.rb index 185ee367..bedfdb9b 100644 --- a/app/models/comic.rb +++ b/app/models/comic.rb @@ -10,6 +10,7 @@ class Comic < Peta::Binder def supply_default self.visible = 0 if self.visible.blank? + self.author_id = nil end def overwrite operators @@ -35,23 +36,10 @@ class Comic < Peta::Binder 'comics.visible > 0' end - def self.list_order - 'comics.updated_at desc' - end - def self.show_opt {:include => {:comic_stories => {:story => {}}, :author => {}}} end - def self.show_json_opt - {:include => {:comic_stories => {:include => {:story => {}}}, :author => {}}} - end - - def tag_attributes column = nil, opt = {} - { - } - end - def scenario panels.map {|panel| panel.scenario diff --git a/app/models/comic_story.rb b/app/models/comic_story.rb index 77d40039..ddf6d74f 100644 --- a/app/models/comic_story.rb +++ b/app/models/comic_story.rb @@ -47,6 +47,7 @@ class ComicStory < Peta::Leaf def self.show_opt {:include => { :comic => { + :author => {} } }} end @@ -56,25 +57,4 @@ class ComicStory < Peta::Leaf self.comic.own?(operators) and self.story.own?(operators) end - def store operators, old_t = nil - res = false - self.class.transaction do - case self.allow? operators - when true - self.rotate old_t - when false - raise ActiveRecord::Forbidden - else - end - res = self.save - raise ActiveRecord::Rollback unless res - res = self.class.validate_t(self.comic_id) - unless res - self.errors.add :t, 'unserialized' - raise ActiveRecord::Rollback - end - end - res - end - end diff --git a/app/models/ground_color.rb b/app/models/ground_color.rb index cb16e67f..16db781e 100644 --- a/app/models/ground_color.rb +++ b/app/models/ground_color.rb @@ -109,18 +109,6 @@ class GroundColor < Peta::Element 'panels.publish > 0' end - def self.list_order - 'ground_colors.updated_at desc' - end - - def self.list_opt - {:panel => {:author => {}} } - end - - def self.list_json_opt - {:include => {:panel => {:include => {:author => {}}} }} - end - def self.show_opt {:include => {:panel => {:author => {}} }} end @@ -129,25 +117,6 @@ class GroundColor < Peta::Element {:include => {:panel => {:include => {:author => {}}} }} end - def store operators - if self.new_record? - self.panel.ground_colors.build(self.attributes) - else - self.panel.ground_colors.each do |ground_color| - next unless ground_color == self - attr = self.attributes - attr.delete 'id' - ground_color.attributes = attr - break - end - end - self.panel.store({}, operators) - end - - def remove operators - self.panel.remove_element(self, operators) - end - def scenario if caption.blank? '' diff --git a/app/models/ground_picture.rb b/app/models/ground_picture.rb index d0e98336..af2940f3 100644 --- a/app/models/ground_picture.rb +++ b/app/models/ground_picture.rb @@ -89,18 +89,6 @@ class GroundPicture < Peta::Element 'panels.publish > 0' end - def self.list_order - 'ground_pictures.updated_at desc' - end - - def self.list_opt - {:panel => {:author => {}}, :picture => {:artist => {}, :license => {}} } - end - - def self.list_json_opt - {:include => {:panel => {:include => {:author => {}}}, :picture => {:include => {:artist => {}, :license => {}}} }} - end - def self.show_opt {:include => {:panel => {:author => {}}, :picture => {:artist => {}, :license => {}}}} end @@ -109,25 +97,6 @@ class GroundPicture < Peta::Element {:include => {:panel => {:include => {:author => {}}}, :picture => {:include => {:artist => {}, :license => {}}} }} end - def store operators - if self.new_record? - self.panel.ground_pictures.build(self.attributes) - else - self.panel.ground_pictures.each do |ground_picture| - next unless ground_picture == self - attr = self.attributes - attr.delete 'id' - ground_picture.attributes = attr - break - end - end - self.panel.store({}, operators) - end - - def remove operators - self.panel.remove_element(self, operators) - end - def scenario if caption.blank? '' diff --git a/app/models/license.rb b/app/models/license.rb index 0a14f8fa..7f41158c 100644 --- a/app/models/license.rb +++ b/app/models/license.rb @@ -31,10 +31,6 @@ class License < Peta::SystemResource {:include => {:license_group => {}}} end - def self.show_json_opt - {:include => {:license_group => {}}} - end - def self.list_by_name name License.find :all, :conditions => ['licenses.name = ?', name], :order => 'licenses.updated_at desc' end @@ -63,32 +59,6 @@ class License < Peta::SystemResource res end -=begin - def supply_default - end - - def overwrite - end - - def self.list_opt - {:license_group => {}} - end - - def self.list_json_opt - {:include => {:license_group => {}}} - end - - def credit_pictures_attr - return @credit_pictures_attr if @credit_pictures_attr - begin - @credit_pictures_attr = JSON.parse(self.credit_pictures) - rescue - end - @credit_pictures_attr = {} unless @credit_pictures_attr - @credit_pictures_attr - end -=end - def self.export(dt = nil) opt = {} opt.merge!({:conditions => ['updated_at >= ?', dt]}) if dt diff --git a/app/models/license_group.rb b/app/models/license_group.rb index d9455c77..a02e23cb 100644 --- a/app/models/license_group.rb +++ b/app/models/license_group.rb @@ -14,18 +14,10 @@ class LicenseGroup < Peta::Template def overwrite end - def self.list_order - 'license_groups.name asc' - end - def self.show_opt {:include => {:licenses => {}}} end - def self.show_json_opt - {:include => {:licenses => {}}} - end - def self.store name, attr #ライセンスデータがあるとライセンスグループのデータ生成で邪魔するので移しておく lattr = attr["licenses_attributes"] diff --git a/app/models/original_picture.rb b/app/models/original_picture.rb index b7fcc4d9..6cb16a13 100644 --- a/app/models/original_picture.rb +++ b/app/models/original_picture.rb @@ -13,6 +13,7 @@ class OriginalPicture < Peta::Content validates :md5, :presence => true, :length => {:minimum => 32, :maximum => 32} def supply_default + self.artist_id = nil end def overwrite operators @@ -72,10 +73,6 @@ class OriginalPicture < Peta::Content self.published_at != nil end - def self.list_order - 'original_pictures.updated_at desc' - end - def history Picture.find(:all, {:conditions => ['pictures.original_picture_id = ?', self.id], :order => 'pictures.revision desc'} ) end @@ -84,10 +81,6 @@ class OriginalPicture < Peta::Content {:include => {:resource_picture => {}, :pictures => {}}} end - def self.show_json_opt - {:include => {:resource_picture => {}, :pictures => {}}} - end - def store(imager) unless imager self.errors.add :base, I18n.t('errors.invalid_image') diff --git a/app/models/panel.rb b/app/models/panel.rb index 4ef23f9e..e2a17b48 100644 --- a/app/models/panel.rb +++ b/app/models/panel.rb @@ -68,20 +68,6 @@ class Panel < Peta::Root 'panels.publish > 0' end - def self.list_order - 'panels.updated_at desc' - end - - def self.list_opt - r = { - :author => {} - } - self.child_models.each do |child_model| - r.merge!(child_model.list_opt_for_panel) - end - r - end - def self.show_opt r = { :author => {} @@ -92,49 +78,6 @@ class Panel < Peta::Root {:include => r} end - def parts_element - self.elements_items - end - - def zorderd_elements - res = [] - self.parts_element.each do |e| - res[e.z-1] = e - end - res - end - - def panel_elements - res = [] - self.parts_element.each do |e| - res[e.t] = e - end - res - end - - def elements - self.panel_elements.map {|e| - #(-_-;)<... kore wa hidoi - JSON.parse e.to_json({:include => e.class.json_opt_for_panel}) - } - end - - def panel_elements_as_json - self.to_json({:include => {:author => {}}, :methods => :elements}) - end - - def self.list_as_json_text ary - '[' + ary.map {|i| i.panel_elements_as_json }.join(',') + ']' - end - - def new_t - self.panel_elements.size - end - - def new_z - self.panel_elements.size + 1 - end - def scenario panel_elements.map { |e| e.scenario @@ -157,146 +100,11 @@ class Panel < Peta::Root def licensed_pictures r = {} - self.panel_elements.each do |elm| + self.scenario_elements.each do |elm| next unless elm.class.has_picture? r[elm.picture_id] = elm.picture unless r[elm.picture_id] end r end - def self.visible_count - Panel.count - end - - def self.collect_element_value elements, name - elements.map {|e| - if e['_destroy'] or e[:_destroy] - nil - else - e[name] - end - } - end - - def self.validate_serial ary, offset = 0 - i = offset - ary.compact.sort.each do |n| - break false unless n == i - i += 1 - end - ary.compact.size == i - offset - end - - def self.validate_element_serial elements, name, offset = 0 - Panel.validate_serial(Panel.collect_element_value(elements, name), offset) - end - - def self.validate_elements_serial c - c.map {|conf| - Panel.validate_element_serial(conf[:elements], conf[:name], conf[:offset]) ? nil : false - }.compact.empty? - end - - def validate_serial_list - [ - {:elements => self.elements_items, :name => :t, :offset => 0}, - {:elements => self.elements_items, :name => :z, :offset => 1} - ] - end - def validate_child -# r1 = Panel.validate_elements_id validate_id_list - Panel.validate_elements_serial validate_serial_list - end - - def store attr, operators - if attr == false - self.errors.add :base, I18n.t('errors.invalid_json') - return false - end - self.attributes = attr - self.overwrite operators - res = false - Panel.transaction do - self.boosts 'post' -#self.publish = nil - res = self.save - unless validate_child - res = false - self.errors.add :base, I18n.t('errors.invalid_t') - raise ActiveRecord::Rollback - end - end - res - end - - def remove_element target, operators - ct = target.t - cz = target.z - panel_attributes = {} - self.panel_elements.each do |elm| - attr = elm.attributes - if elm == target - attr['_destroy'] = true - end - if elm.t > ct - attr['t'] -= 1 - end - if elm.z > cz - attr['z'] -= 1 - end - panel_attributes[elm.class.to_s.tableize + '_attributes'] ||= {} - panel_attributes[elm.class.to_s.tableize + '_attributes'][elm.id] = attr - end - self.store(panel_attributes, operators) - end - - def destroy_with_elements - res = false - Panel.transaction do - self.parts_element.each do |element| - raise ActiveRecord::Rollback unless element.destroy - end - raise ActiveRecord::Rollback unless self.destroy - res = true - end - res - end - - def self.panelize panel - attr = panel.attributes - attr.delete 'id' - attr - end - - -=begin - def self.validate_id ary, pid - ary.map {|v| - if pid - (v == pid or v == nil) ? nil : false - else - v ? false : nil - end - }.compact.empty? - end - - def self.validate_element_id elements, name, pid - Panel.validate_id(Panel.collect_element_value(elements, name), pid) - end - - def self.validate_elements_id c - c.map {|conf| - Panel.validate_element_id(conf[:elements], conf[:name], conf[:parent_id]) ? nil : false - }.compact.empty? - end - - def validate_id_list - r = self.speech_balloons.map {|sb| - {:elements => [sb.speeches, sb.balloons], :name => :speech_balloon_id, :parent_id => sb.id} - } - r.unshift({:elements => [self.panel_pictures, self.speech_balloons], :name => :panel_id, :parent_id => self.id}) - r - end -=end - end diff --git a/app/models/panel_picture.rb b/app/models/panel_picture.rb index daea39d9..21b3c245 100644 --- a/app/models/panel_picture.rb +++ b/app/models/panel_picture.rb @@ -105,18 +105,6 @@ class PanelPicture < Peta::Element 'panels.publish > 0' end - def self.list_order - 'panel_pictures.updated_at desc' - end - - def self.list_opt - {:panel => {:author => {}}, :picture => {:artist => {}, :license => {}} } - end - - def self.list_json_opt - {:include => {:panel => {:include => {:author => {}}}, :picture => {:include => {:artist => {}, :license => {}}} }} - end - def self.show_opt {:include => {:panel => {:author => {}}, :picture => {:artist => {}, :license => {}}}} end @@ -125,25 +113,6 @@ class PanelPicture < Peta::Element {:include => {:panel => {:include => {:author => {}}}, :picture => {:include => {:artist => {}, :license => {}}} }} end - def store operators - if self.new_record? - self.panel.panel_pictures.build(self.attributes) - else - self.panel.panel_pictures.each do |panel_picture| - next unless panel_picture == self - attr = self.attributes - attr.delete 'id' - panel_picture.attributes = attr - break - end - end - self.panel.store({}, operators) - end - - def remove operators - self.panel.remove_element(self, operators) - end - def scenario if caption.blank? '' diff --git a/app/models/scroll.rb b/app/models/scroll.rb index 65a4d3bf..17a5c5a8 100644 --- a/app/models/scroll.rb +++ b/app/models/scroll.rb @@ -9,6 +9,7 @@ class Scroll < Peta::Binder def supply_default self.visible = 0 if self.visible.blank? + self.author_id = nil end def overwrite operators @@ -28,10 +29,6 @@ class Scroll < Peta::Binder end end - def scroll_panels_count - ScrollPanel.where(['scroll_panels.scroll_id = ?', self.id]).count - end - def self.public_list_where 'scrolls.visible > 0' end @@ -40,10 +37,6 @@ class Scroll < Peta::Binder {:include => {:scroll_panels => {:panel => {}}, :author => {}}} end - def self.show_json_opt - {:include => {:scroll_panels => {:include => {:panel => {}}}, :author => {}}} - end - def scenario panels.map {|panel| panel.scenario diff --git a/app/models/scroll_panel.rb b/app/models/scroll_panel.rb index 1970550c..412e803b 100644 --- a/app/models/scroll_panel.rb +++ b/app/models/scroll_panel.rb @@ -20,10 +20,6 @@ class ScrollPanel < Peta::Leaf self.author_id = operators.author.id end - def self.public_list_order - 'scroll_panels.updated_at desc' - end - def self.public_list_where 'scrolls.visible > 0' end @@ -38,15 +34,9 @@ class ScrollPanel < Peta::Leaf def self.show_opt {:include => { - :author => {}, :scroll => { :author => {} }, - :panel => { - :author => {}, - :panel_pictures => {:picture => {:artist => {}, :license => {}}}, - :speech_balloons =>{:balloon => {}, :speech => {}} - } }} end diff --git a/app/models/sheet.rb b/app/models/sheet.rb index a07bbea3..9ff4b81e 100644 --- a/app/models/sheet.rb +++ b/app/models/sheet.rb @@ -10,29 +10,9 @@ class Sheet < Peta::Root validates :visible, :presence => true, :numericality => true, :inclusion => {:in => 0..1} accepts_nested_attributes_for :sheet_panels, :allow_destroy => true - def self.each_element_class_names - {'SheetPanel' => 'sheet_panels'}.each do |k, n| - yield k - end - end - - def self.class_name_to_class k - Object.const_get k - end - - def self.each_element_classes - self.each_element_class_names do |k| - e = self.class_name_to_class k - yield e - end - end - - def elements_by_class_name class_name - self.__send__ class_name.tableize - end - def supply_default self.visible = 0 if self.visible.blank? + self.author_id = nil end def overwrite operators @@ -62,18 +42,6 @@ class Sheet < Peta::Root 'sheets.visible > 0' end - def self.list_order - 'sheets.updated_at desc' - end - - def self.list_opt - {:sheet_panels => {:panel => {}}, :author => {} } - end - - def self.list_json_opt - {:include => {:sheet_panels => {:include => {:panel => {}}}, :author => {}}} - end - def self.show_opt {:include => {:sheet_panels => {:panel => {}}, :author => {}}} end @@ -82,125 +50,6 @@ class Sheet < Peta::Root {:include => {:sheet_panels => {:include => {:panel => {}}}, :author => {}}} end - def parts_element - r = [] - self.class.each_element_class_names do |k| - r += (self.elements_by_class_name(k) || []) - end - r - end - - def zorderd_elements - res = [] - self.parts_element.each do |e| - res[e.z-1] = e - end - res - end - - def sheet_elements - res = [] - self.parts_element.each do |e| - res[e.t] = e - end - res - end - - def new_t - self.sheet_elements.size - end - - def new_z - self.sheet_elements.size + 1 - end - - def self.visible_count - Sheet.count 'visible > 0' - end - - def self.collect_element_value elements, name - elements.map {|e| - e.map {|o| - if o['_destroy'] or o[:_destroy] - nil - else - o[name] - end - }.compact - }.flatten - end - - def self.validate_serial ary, offset = 0 - i = offset - ary.compact.sort.each do |n| - break false unless n == i - i += 1 - end - ary.compact.size == i - offset - end - - def self.validate_element_serial elements, name, offset = 0 - Sheet.validate_serial(Sheet.collect_element_value(elements, name), offset) - end - - def self.validate_elements_serial c - c.map {|conf| - Sheet.validate_element_serial(conf[:elements], conf[:name], conf[:offset]) ? nil : false - }.compact.empty? - end - - def validate_serial_list - l = [] - self.class.each_element_class_names do |k| - l << self.elements_by_class_name(k) - end -# l = [self.sheet_panels] - [ - {:elements => l, :name => :t, :offset => 0}, - {:elements => l, :name => :z, :offset => 1} - ] - end - - def validate_child -# r1 = Panel.validate_elements_id validate_id_list - Sheet.validate_elements_serial validate_serial_list - end - - def store attr, operators - if attr == false - self.errors.add :base, I18n.t('errors.invalid_json') - return false - end - self.attributes = attr - self.overwrite operators - res = false - Sheet.transaction do - self.sheet_elements.each do |elm| - elm.new_sheet = self - elm.boost operators - end - res = self.save - unless validate_child - res = false - self.errors.add :base, I18n.t('errors.invalid_t') - raise ActiveRecord::Rollback - end - end - res - end - - def destroy_with_sheet_panel - res = false - Sheet.transaction do - self.sheet_panels.each do |sheet_panel| - raise ActiveRecord::Rollback unless sheet_panel.destroy - end - raise ActiveRecord::Rollback unless self.destroy - res = true - end - res - end - def scenario panels.map {|panel| panel.scenario @@ -215,7 +64,7 @@ class Sheet < Peta::Root def licensed_pictures r = {} - self.sheet_elements.each do |elm| + self.scenario_elements.each do |elm| r.merge!(elm.licensed_pictures) end r @@ -247,19 +96,4 @@ class Sheet < Peta::Root attr end - def copy_attributes - r = self.attributes - r.delete 'id' - r.delete 'author_id' - r.delete 'created_at' - r.delete 'updated_at' - r - end - - def self.panelize sheet - attr = sheet.attributes - attr.delete 'id' - attr - end - end diff --git a/app/models/speech.rb b/app/models/speech.rb index 24fc43b9..1f0a5a5a 100644 --- a/app/models/speech.rb +++ b/app/models/speech.rb @@ -56,10 +56,6 @@ class Speech < Peta::Element 'panels.publish > 0' end - def self.list_order - 'speeches.updated_at desc' - end - def self.by_author_list_includes { :speech_balloon => { diff --git a/app/models/speech_balloon.rb b/app/models/speech_balloon.rb index 88073cdb..87272e64 100644 --- a/app/models/speech_balloon.rb +++ b/app/models/speech_balloon.rb @@ -68,14 +68,6 @@ class SpeechBalloon < Peta::Element 'panels.publish > 0' end - def self.list_order - 'speech_balloons.updated_at desc' - end - - def self.list_json_opt - {:include => {:panel => {:include => {:author => {} }}, :balloon => {}, :speech => {}, :speech_balloon_template => {} }} - end - def self.show_opt {:include => {:panel => {:author => {}}, :balloon => {}, :speech => {}, :speech_balloon_template => {} }} end @@ -84,25 +76,6 @@ class SpeechBalloon < Peta::Element {:include => {:panel => {:include => {:author => {} }}, :balloon => {}, :speech => {}, :speech_balloon_template => {} }} end - def store operators, attr - if self.new_record? - sb = self.panel.speech_balloons.build - sb.attributes = attr - else - self.panel.speech_balloons.each do |speech_balloon| - next unless speech_balloon == self - attr.delete 'id' - speech_balloon.attributes = attr - break - end - end - self.panel.store({}, operators) - end - - def remove au - self.panel.remove_element(self, au) - end - def parts @parts ||= [self.balloon, self.speech] end diff --git a/app/models/speech_balloon_template.rb b/app/models/speech_balloon_template.rb index 50db1321..add04934 100644 --- a/app/models/speech_balloon_template.rb +++ b/app/models/speech_balloon_template.rb @@ -26,10 +26,6 @@ class SpeechBalloonTemplate < Peta::Template {} end - def self.show_json_opt - {} - end - def parsed_settings @parsed_settings ||= JSON.parse(self.settings) end diff --git a/app/models/story.rb b/app/models/story.rb index 0a59dbd2..5c550e16 100644 --- a/app/models/story.rb +++ b/app/models/story.rb @@ -11,6 +11,7 @@ class Story < Peta::Binder def supply_default self.visible = 0 if self.visible.blank? + self.author_id = nil end def overwrite operators @@ -35,11 +36,7 @@ class Story < Peta::Binder end def self.show_opt - {:include => {:comic_stories => {:comic => {}}, :author => {}}} - end - - def self.show_json_opt - {:include => {:comic_stories => {:include => {:comic => {}}}, :author => {}}} + {:include => {:story_sheets => {:sheet => {}}, :author => {}}} end end diff --git a/app/models/story_sheet.rb b/app/models/story_sheet.rb index f49d6b00..b290a306 100644 --- a/app/models/story_sheet.rb +++ b/app/models/story_sheet.rb @@ -42,38 +42,9 @@ class StorySheet < Peta::Leaf }} end - def self.show_json_opt - {:include => { - :author => {}, - :story => {} , - :sheet => {:include => {:author => {}}} - }} - end - def allow? operators return nil if self.story_id == nil or self.sheet_id == nil self.story.own?(operators) and self.sheet.usable?(operators) end - def store operators, old_t = nil - res = false - self.class.transaction do - case self.allow? operators - when true - self.rotate old_t - when false - raise ActiveRecord::Forbidden - else - end - res = self.save - raise ActiveRecord::Rollback unless res - res = self.class.validate_t(self.story_id) - unless res - self.errors.add :t, 'unserialized' - raise ActiveRecord::Rollback - end - end - res - end - end diff --git a/app/models/system_picture.rb b/app/models/system_picture.rb index 542f2b51..8b25d198 100644 --- a/app/models/system_picture.rb +++ b/app/models/system_picture.rb @@ -48,30 +48,10 @@ class SystemPicture < Peta::SystemResource self.tmb_opt_img_tag end - def self.list_where - nil - end - - def self.list_order - 'system_pictures.updated_at desc' - end - - def self.list_opt - {} - end - - def self.list_json_opt - {} - end - def self.show_opt {} end - def self.show_json_opt - {} - end - def store(imager) unless imager self.errors.add :base, 'illegal picture data' diff --git a/app/views/artists/_form.html.erb b/app/views/artists/_form.html.erb deleted file mode 100644 index d71f45dd..00000000 --- a/app/views/artists/_form.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -<%= form_for(artist) do |f| %> - <%= render 'system/error_explanation', :obj => artist %> - -
- <%= f.label :name %>
- <%= f.text_field :name %>
- -
-
-
-
- <%= f.submit %> -
-<% end %> - diff --git a/app/views/artists/edit.html.erb b/app/views/artists/edit.html.erb deleted file mode 100644 index 1f7a8f3f..00000000 --- a/app/views/artists/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t '.title' -%>

-

<%= notice %>

- -<%= render 'form', :artist => @artist %> diff --git a/app/views/artists/new.html.erb b/app/views/artists/new.html.erb deleted file mode 100644 index 4abac294..00000000 --- a/app/views/artists/new.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -

<%= t '.title' -%>

-

素材の投稿には絵師登録が必要です。

-

下記フォームで登録してください。

- -<%= render 'form', :artist => @artist %> - -<%= link_to t('link.back'), artists_path %> diff --git a/app/views/authors/_form.html.erb b/app/views/authors/_form.html.erb deleted file mode 100644 index 3cb583a9..00000000 --- a/app/views/authors/_form.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -<%= form_for(author) do |f| %> - <%= render 'system/error_explanation', :obj => author %> - -
- <%= f.label :name %>
- <%= f.text_field :name %>
- -
-
-
-
- <%= f.submit %> -
-<% end %> - diff --git a/app/views/authors/edit.html.erb b/app/views/authors/edit.html.erb deleted file mode 100644 index c714a958..00000000 --- a/app/views/authors/edit.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

<%= t '.title' -%>

-

<%= notice %>

- -<%= render 'form', :author => @author %> - diff --git a/app/views/authors/new.html.erb b/app/views/authors/new.html.erb deleted file mode 100644 index 6fc715a0..00000000 --- a/app/views/authors/new.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

<%= t '.title' -%>

-

<%= t '.announce' -%>

- -<%= render 'form', :author => @author %> - diff --git a/app/views/comic_stories/_form.html.erb b/app/views/comic_stories/_form.html.erb deleted file mode 100644 index 0cf77a8e..00000000 --- a/app/views/comic_stories/_form.html.erb +++ /dev/null @@ -1,26 +0,0 @@ -<%= form_for(@scroll_panel) do |f| %> - <%= render 'system/error_explanation', :obj => @scroll_panel %> - -
- <%= f.label :scroll_id %>
- <%= f.number_field :scroll_id %> -
-
-
-
- <%= f.label :t %>
- <%= f.number_field :t %> -
-
-
-
- <%= f.label :panel_id %>
- <%= f.number_field :panel_id %> -
-
-
- -
- <%= f.submit %> -
-<% end %> diff --git a/app/views/comic_stories/edit.html.erb b/app/views/comic_stories/edit.html.erb deleted file mode 100644 index 1d67f75e..00000000 --- a/app/views/comic_stories/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -<%= render 'form' %> diff --git a/app/views/comic_stories/new.html.erb b/app/views/comic_stories/new.html.erb deleted file mode 100644 index f33a2f89..00000000 --- a/app/views/comic_stories/new.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

<%= t('.title') %>

- -<%= render 'form' %> diff --git a/app/views/comics/_form.html.erb b/app/views/comics/_form.html.erb deleted file mode 100644 index 9953ba02..00000000 --- a/app/views/comics/_form.html.erb +++ /dev/null @@ -1,31 +0,0 @@ -<%= form_for(@comic) do |f| %> - <%= render 'system/error_explanation', :obj => @comic %> - -
- <%= f.label :title %>
- <%= f.text_field :title %> -
-
-
-
- <%= f.label :description %>
- <%= f.text_area :description %> -
-
-
-
- <%= f.label :visible %>
- <%= f.collection_select :visible, t_select_items(manifest.system_resources.select_items['comic_visible_items']), :last, :first, :html => {:selected => @comic.visible} %> -
-
-
-
- <%= f.label :author_id %>
- <%= h @operators.author.name %> -
-
-
-
- <%= f.submit %> -
-<% end %> diff --git a/app/views/comics/edit.html.erb b/app/views/comics/edit.html.erb deleted file mode 100644 index 1d67f75e..00000000 --- a/app/views/comics/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -<%= render 'form' %> diff --git a/app/views/comics/new.html.erb b/app/views/comics/new.html.erb deleted file mode 100644 index 7142b57d..00000000 --- a/app/views/comics/new.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

<%= t('.title') %>

- -<%= render 'form' %> - -<%= link_to t('link.back'), comics_path %> diff --git a/app/views/ground_colors/_form.html.erb b/app/views/ground_colors/_form.html.erb deleted file mode 100644 index 7bec82e5..00000000 --- a/app/views/ground_colors/_form.html.erb +++ /dev/null @@ -1,57 +0,0 @@ -<%= form_for(elm) do |f| %> - <%= render 'system/error_explanation', :obj => elm %> - -
- <%= f.label :caption %> - <%= f.text_field :caption, elm.field_tag_attributes(:caption, no_attr) %> -
-
-
-
- <%= f.label :code %> - <%= f.text_field :code, elm.field_tag_attributes(:code, no_attr, :size => 8) %> - <% if elm.has_helper?(:code) %> -
- <%= render elm.form_helper_template(:code), :elm => elm, :no_attr => no_attr %> -
- <% end %> -
-
-
-
- <%= f.label :orientation %> - <%= f.collection_select :orientation, t_select_items(manifest.system_resources.select_items['ground_color_orientation_items']), :last, :first, :html => {:selected => elm.orientation} %> - - <%= f.label :xy %> - <%= f.number_field :xy, elm.field_tag_attributes(:xy, no_attr, :size => 5) %> - - <%= f.label :wh %> - <%= f.number_field :wh, elm.field_tag_attributes(:wh, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :z %> - <%= f.number_field :z, elm.field_tag_attributes(:z, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :t %> - <%= f.number_field :t, elm.field_tag_attributes(:t, no_attr, :size => 5) %> -
-
-
- - <%= f.hidden_field :panel_id, elm.field_tag_attributes(:panel_id, no_attr) %> - <% unless elm.new_record? %> - <%= f.hidden_field :id, elm.field_tag_attributes(:id, no_attr) %> - <% end %> - -
- <%= f.submit t('ground_colors.submit'), :class => "submit" %> -
- <% if no_attr > 0 %> -
- <% end %> -<% end %> diff --git a/app/views/ground_colors/edit.html.erb b/app/views/ground_colors/edit.html.erb deleted file mode 100644 index ca973094..00000000 --- a/app/views/ground_colors/edit.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -

<%= t('home.index.catch') -%>

-<%= render 'panels/standard', :panel => @panel, :author => @author %> -

<%= t('ground_colors.update_color') -%>

-<%= render @ground_color.form_template, :elm => @ground_color, :no_attr => 0 %> diff --git a/app/views/ground_colors/new.html.erb b/app/views/ground_colors/new.html.erb deleted file mode 100644 index b79147f8..00000000 --- a/app/views/ground_colors/new.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -

<%= t('home.index.catch') -%>

-<%= render 'panels/standard', :panel => @panel, :operators => @operators %> -

<%= t('ground_colors.create_color') -%>

-<%= render @ground_color.form_template, :elm => @ground_color, :no_attr => 0 %> diff --git a/app/views/ground_pictures/_form.html.erb b/app/views/ground_pictures/_form.html.erb deleted file mode 100644 index 6480cadd..00000000 --- a/app/views/ground_pictures/_form.html.erb +++ /dev/null @@ -1,50 +0,0 @@ -<%= form_for(elm) do |f| %> - <%= render 'system/error_explanation', :obj => elm %> - -
- <%= f.label :caption %> - <%= f.text_field :caption, elm.field_tag_attributes(:caption, no_attr) %> -
-
-
-
- <%= f.label :repeat %> - <%= f.collection_select :repeat, t_select_items(manifest.system_resources.select_items['ground_picture_repeat_items']), *elm.select_tag_attributes(elm.repeat, :repeat, no_attr) %> -
-
-
-
- <%= f.label :x %> - <%= f.number_field :x, elm.field_tag_attributes(:x, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :y %> - <%= f.number_field :y, elm.field_tag_attributes(:y, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :z %> - <%= f.number_field :z, elm.field_tag_attributes(:z, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :t %> - <%= f.number_field :t, elm.field_tag_attributes(:t, no_attr, :size => 5) %> -
-
-
- - <%= f.hidden_field :panel_id, elm.field_tag_attributes(:panel_id, no_attr) %> - <%= f.hidden_field :picture_id, elm.field_tag_attributes(:picture_id, no_attr) %> - <% unless elm.new_record? %> - <%= f.hidden_field :id, elm.field_tag_attributes(:id, no_attr) %> - <% end %> - -
- <%= f.submit t('ground_pictures.submit'), :class => "submit" %> -
-<% end %> diff --git a/app/views/ground_pictures/edit.html.erb b/app/views/ground_pictures/edit.html.erb deleted file mode 100644 index b94e72a7..00000000 --- a/app/views/ground_pictures/edit.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -

<%= t('home.index.catch') -%>

-<%= render 'panels/standard', :panel => @panel, :operators => @operators %> -<%= render @ground_picture.form_template, :elm => @ground_picture, :no_attr => 0 %> diff --git a/app/views/ground_pictures/new.html.erb b/app/views/ground_pictures/new.html.erb deleted file mode 100644 index b94e72a7..00000000 --- a/app/views/ground_pictures/new.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -

<%= t('home.index.catch') -%>

-<%= render 'panels/standard', :panel => @panel, :operators => @operators %> -<%= render @ground_picture.form_template, :elm => @ground_picture, :no_attr => 0 %> diff --git a/app/views/home/configure.html.erb b/app/views/home/configure.html.erb index 96371d88..bf2d0a63 100644 --- a/app/views/home/configure.html.erb +++ b/app/views/home/configure.html.erb @@ -20,23 +20,17 @@

<%= t_m 'Author' -%>

- <% if @operators.author %> - <%= render '/authors/form', :author => @operators.author %> - <% else %> + <% unless @operators.author %>
<%= t 'home.configure.no_author' -%>
<%= t 'home.configure.about_author' -%>
- <% @author = Author.new ; @author.supply_default %> - <%= render '/authors/form', :author => @author %> <% end %> + <%= render @author_form.template_name, :form => @author_form %>

<%= t_m 'Artist' -%>

- <% if @operators.artist %> - <%= render '/artists/form', :artist => @operators.artist %> - <% else %> + <% unless @operators.artist %>
<%= t 'home.configure.no_artist' -%>
<%= t 'home.configure.about_artist' -%>
- <% @artist = Artist.new ; @artist.supply_default %> - <%= render '/artists/form', :artist => @artist %> <% end %> + <%= render @artist_form.template_name, :form => @artist_form %> diff --git a/app/views/panel_pictures/_form.html.erb b/app/views/panel_pictures/_form.html.erb deleted file mode 100644 index 643e626b..00000000 --- a/app/views/panel_pictures/_form.html.erb +++ /dev/null @@ -1,61 +0,0 @@ -<%= form_for(elm) do |f| %> - <%= render 'system/error_explanation', :obj => elm %> - -
- <%= f.label :caption %> - <%= f.text_field :caption, elm.field_tag_attributes(:caption, no_attr) %> -
-
-
-
- <%= f.label :x %> - <%= f.number_field :x, elm.field_tag_attributes(:x, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :y %> - <%= f.number_field :y, elm.field_tag_attributes(:y, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :z %> - <%= f.number_field :z, elm.field_tag_attributes(:z, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :t %> - <%= f.number_field :t, elm.field_tag_attributes(:t, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :width %> - <%= f.number_field :width, elm.field_tag_attributes(:width, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :height %> - <%= f.number_field :height, elm.field_tag_attributes(:height, no_attr, :size => 5) %> -
-
-
-
- <%= f.label :link %> - <%= f.text_field :link, elm.field_tag_attributes(:link, no_attr) %> -
-
-
- <%= f.hidden_field :panel_id, elm.field_tag_attributes(:panel_id, no_attr) %> - <%= f.hidden_field :picture_id, elm.field_tag_attributes(:picture_id, no_attr) %> - <% unless elm.new_record? %> - <%= f.hidden_field :id, elm.field_tag_attributes(:id, no_attr) %> - <% end %> - -
- <%= f.submit t('panel_pictures.submit'), :class => "submit" %> -
-<% end %> diff --git a/app/views/panel_pictures/edit.html.erb b/app/views/panel_pictures/edit.html.erb deleted file mode 100644 index 624058f5..00000000 --- a/app/views/panel_pictures/edit.html.erb +++ /dev/null @@ -1,22 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -

<%= t('home.index.catch') -%>

-<%= render 'panels/standard', :panel => @panel, :operators => @operators %> -

<%= t('panel_pictures.panel_picture') -%>

-<% if @panel_picture.picture and @panel_picture.picture.resource_picture %> - - - - - - - - - - - - <%= render 'resource_pictures/list_item', :resource_picture => @panel_picture.picture.resource_picture %> -
<%= t_m 'ResourcePicture.artist_id' -%><%= t_m 'ResourcePicture.ext' -%><%= t_m 'ResourcePicture.width' -%><%= t_m 'ResourcePicture.height' -%><%= t_m 'ResourcePicture.filesize' -%>
-<% end %> -<%= render @panel_picture.form_template, :elm => @panel_picture, :no_attr => 0 %> diff --git a/app/views/panel_pictures/new.html.erb b/app/views/panel_pictures/new.html.erb deleted file mode 100644 index 15f219b4..00000000 --- a/app/views/panel_pictures/new.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -

<%= t('home.index.catch') -%>

-<%= render 'panels/standard', :panel => @panel, :operators => @operators %> -<%= render @item.form_template, :elm => @item, :no_attr => 0 %> -<%# render 'panels/element_form', :form => @form %> diff --git a/app/views/panels/_body.html.erb b/app/views/panels/_body.html.erb index f7bc7374..8656dc14 100644 --- a/app/views/panels/_body.html.erb +++ b/app/views/panels/_body.html.erb @@ -1,6 +1,6 @@ <%= content_tag :div, panel.tag_attributes(nil, {:panel_id => panel.id, :class => "pettanr-comic-panel", :style => raw(panel.style.to_style)}) do %> <% if panel.visible? operators -%> - <% panel.panel_elements.each do |element| %> + <% panel.scenario_elements.each do |element| %> <%= render element.path_name + '/element', :element => element, :root => panel, :spot => spot %> <% end %> <% else %> diff --git a/app/views/panels/edit.html.erb b/app/views/panels/edit.html.erb deleted file mode 100644 index f2f63050..00000000 --- a/app/views/panels/edit.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -

<%= t '.title' -%>

-

<%= notice %>

- -
- <%= render 'panels/body', :panel => @panel, :operators=> @operators, :spot => nil %> - <%= render 'form', :panel => @panel %> -
-<%= link_to t('link.destroy'), panel_path(@panel), :method => :delete %> -<%= render 'panels/licensed_pictures', :licensed_pictures => @panel.licensed_pictures %> diff --git a/app/views/panels/new.html.erb b/app/views/panels/new.html.erb deleted file mode 100644 index 7395af26..00000000 --- a/app/views/panels/new.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

<%= t '.title' -%>

- -
- <%= render 'panels/body', :panel => @panel, :operators => @operators, :spot => nil %> - <%= render 'form', :panel => @panel %> -
diff --git a/app/views/panels/show.html.erb b/app/views/panels/show.html.erb index ed57f1c1..5281f15e 100644 --- a/app/views/panels/show.html.erb +++ b/app/views/panels/show.html.erb @@ -3,9 +3,9 @@ <%= link_to h(@item.caption), panel_path(@item) %> <%= link_to icon_tag('Prof'), panel_path(@item, :format => :prof) %> -<%= render 'standard', :panel => @panel, :operators => @operators %> +<%= render 'standard', :panel => @item, :operators => @operators %> -<% if @panel.own? @operators %> +<% if @item.own? @operators %>

<%= t('editor') -%>

<%= notice %>

@@ -14,32 +14,20 @@ <%= t_selected_item('panel_visible_items', @item.publish) %>

- <%= link_to t('link.edit'), edit_panel_path(@panel) %> - <%= link_to t('link.destroy'), panel_path(@panel), :method => :delete %> + <%= link_to t('link.edit'), edit_panel_path(@item) %> + <%= link_to t('link.destroy'), panel_path(@item), :method => :delete %>

<%= t('scroll_panels.append.new_scrolls') -%>

<% @new_scroll_items.each do |scroll| %> - <%= render 'scroll_panels/append_scroll', :panel => @panel, :scroll => scroll, :operators => @operators %> + <%= render 'scroll_panels/append_scroll', :panel => @item, :scroll => scroll, :operators => @operators %> <% end %>

<%= t('scroll_panels.append.fresh_scrolls') -%>

<% @fresh_scroll_items.each do |scroll| %> - <%= render 'scroll_panels/append_scroll', :panel => @panel, :scroll => scroll, :operators => @operators %> - <% end %> -
-

<%= t('sheet_panels.append.new_sheets') -%>

- - <% @new_sheet_items.each do |sheet| %> - <%= render 'sheet_panels/append_sheet', :panel => @panel, :sheet => sheet, :operators => @operators %> - <% end %> -
-

<%= t('sheet_panels.append.fresh_sheets') -%>

- - <% @fresh_sheet_items.each do |sheet| %> - <%= render 'sheet_panels/append_sheet', :panel => @panel, :sheet => sheet, :operators => @operators %> + <%= render 'scroll_panels/append_scroll', :panel => @item, :scroll => scroll, :operators => @operators %> <% end %>
<% end %> @@ -48,7 +36,7 @@

<%= t('panels.show.copy') -%>

<%= form_for(Panel.new, :html => {:jqform => 'pettanr-panel-form'}) do |f| %> - <%= hidden_field_tag "json", @panel.post_attributes(:all).to_json %> + <%= hidden_field_tag "json", @item.post_attributes(:all).to_json %>
<%= submit_tag t('panels.show.inspire') -%>
diff --git a/app/views/pictures/browse.html.erb b/app/views/pictures/browse.html.erb deleted file mode 100644 index 35c2f411..00000000 --- a/app/views/pictures/browse.html.erb +++ /dev/null @@ -1,86 +0,0 @@ -

<%= t '.title' -%>

-

<%= notice %>

- -<%= link_to tag(:img, @picture.opt_img_tag), @picture.url %> -<%= render @picture.credit_template, :picture => @picture %> -

- <%= t_m 'Picture.id' -%>: - <%= @picture.id %> -

- -

- <%= t_m 'Picture.original_picture_id' -%>: - <%= link_to @picture.original_picture_id, browse_original_picture_path(@picture.original_picture) %> -

- -

- <%= t_m 'Picture.revision' -%>: - <%= @picture.revision %> -

- -

- <%= t_m 'Picture.ext' -%>: - <%= @picture.ext %> -

- -

- <%= t_m 'Picture.width' -%>: - <%= @picture.width %> -

- -

- <%= t_m 'Picture.height' -%>: - <%= @picture.height %> -

- -

- <%= t_m 'Picture.filesize' -%>: - <%= @picture.filesize %> -

- -

- <%= t_m 'Picture.md5' -%>: - <%= @picture.md5 %> -

- -

- <%= t_m 'Picture.license_id' -%>: - <%= link_to @picture.license_id, browse_license_path(@picture.license) %> -

- -

- <%= t_m 'Picture.artist_id' -%>: - <%= link_to @picture.artist_id, browse_artist_path(@picture.artist) %> -

- -

- <%= t_m 'Picture.artist_name' -%>: - <%= h @picture.artist_name %> -

- -

- <%= t_m 'Picture.classname' -%>: - <%= h @picture.classname %> -

- -

- <%= t_m 'Picture.credit' -%>: - <%= h @picture.credit %> -

- -

- <%= t_m 'Picture.settings' -%>: - <%= h @picture.settings %> -

- -

- <%= t_m 'Picture.created_at' -%>: - <%= l @picture.created_at %> -

- -

- <%= t_m 'Picture.updated_at' -%>: - <%= l @picture.updated_at %> -

- -<%= link_to t('link.back'), :action => :list %> diff --git a/app/views/pictures/list.html.erb b/app/views/pictures/list.html.erb deleted file mode 100644 index 0a171ce2..00000000 --- a/app/views/pictures/list.html.erb +++ /dev/null @@ -1,45 +0,0 @@ -

<%= t '.title' -%>

- - - - - - - - - - - - - - - - - - - - - - -<% @pictures.each do |picture| %> - - - - - - - - - - - - - - - - - - - -<% end %> -
<%= t_m 'Picture.id' -%><%= t_m 'Picture.original_picture_id' -%><%= t_m 'Picture.revision' -%><%= t_m 'Picture.ext' -%><%= t_m 'Picture.width' -%><%= t_m 'Picture.height' -%><%= t_m 'Picture.filesize' -%><%= t_m 'Picture.md5' -%><%= t_m 'Picture.artist_id' -%><%= t_m 'Picture.license_id' -%><%= t_m 'Picture.artist_name' -%><%= t_m 'Picture.classname' -%><%= t_m 'Picture.credit' -%><%= t_m 'Picture.settings' -%><%= t_m 'Picture.created_at' -%><%= t_m 'Picture.updated_at' -%>
<%= link_to tag(:img, picture.tmb_opt_img_tag), picture.url %><%= link_to picture.id, browse_picture_path(picture) %><%= link_to picture.original_picture_id, browse_original_picture_path(picture.original_picture) %><%= picture.revision %><%= h picture.ext %><%= picture.width %><%= picture.height %><%= picture.filesize %><%= h(truncate(picture.md5, :length => 8)) %><%= link_to picture.artist_id, browse_artist_path(picture.artist) %><%= link_to picture.license_id, browse_license_path(picture.license) %><%= h(truncate(picture.artist_name, :length => 8)) %><%= h(truncate(picture.classname, :length => 8)) %><%= h(truncate(picture.credit, :length => 8)) %><%= h(truncate(picture.settings, :length => 8)) %><%= l picture.created_at %><%= l picture.updated_at %>
diff --git a/app/views/scroll_panels/_form.html.erb b/app/views/scroll_panels/_form.html.erb deleted file mode 100644 index 0cf77a8e..00000000 --- a/app/views/scroll_panels/_form.html.erb +++ /dev/null @@ -1,26 +0,0 @@ -<%= form_for(@scroll_panel) do |f| %> - <%= render 'system/error_explanation', :obj => @scroll_panel %> - -
- <%= f.label :scroll_id %>
- <%= f.number_field :scroll_id %> -
-
-
-
- <%= f.label :t %>
- <%= f.number_field :t %> -
-
-
-
- <%= f.label :panel_id %>
- <%= f.number_field :panel_id %> -
-
-
- -
- <%= f.submit %> -
-<% end %> diff --git a/app/views/scroll_panels/edit.html.erb b/app/views/scroll_panels/edit.html.erb deleted file mode 100644 index 1d67f75e..00000000 --- a/app/views/scroll_panels/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -<%= render 'form' %> diff --git a/app/views/scroll_panels/new.html.erb b/app/views/scroll_panels/new.html.erb deleted file mode 100644 index f33a2f89..00000000 --- a/app/views/scroll_panels/new.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

<%= t('.title') %>

- -<%= render 'form' %> diff --git a/app/views/scrolls/_form.html.erb b/app/views/scrolls/_form.html.erb deleted file mode 100644 index e23c6c9b..00000000 --- a/app/views/scrolls/_form.html.erb +++ /dev/null @@ -1,31 +0,0 @@ -<%= form_for(@scroll) do |f| %> - <%= render 'system/error_explanation', :obj => @scroll %> - -
- <%= f.label :title %>
- <%= f.text_field :title %> -
-
-
-
- <%= f.label :description %>
- <%= f.text_area :description %> -
-
-
-
- <%= f.label :visible %>
- <%= f.select :visible, t_select_items(manifest.system_resources.select_items['scroll_visible_items']), :html => {:selected => @scroll.visible} %> -
-
-
-
- <%= f.label :author_id %>
- <%= h @operators.author.name %> -
-
-
-
- <%= f.submit %> -
-<% end %> diff --git a/app/views/scrolls/edit.html.erb b/app/views/scrolls/edit.html.erb deleted file mode 100644 index 1d67f75e..00000000 --- a/app/views/scrolls/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -<%= render 'form' %> diff --git a/app/views/scrolls/new.html.erb b/app/views/scrolls/new.html.erb deleted file mode 100644 index e69de29b..00000000 diff --git a/app/views/sheet_panels/_form.html.erb b/app/views/sheet_panels/_form.html.erb deleted file mode 100644 index 25dbd02d..00000000 --- a/app/views/sheet_panels/_form.html.erb +++ /dev/null @@ -1,61 +0,0 @@ -<%= form_for(elm) do |f| %> - <%= render 'system/error_explanation', :obj => elm %> - -
- <%= f.label :sheet_id %> - <% if elm.new_record? %> - <%= f.number_field :sheet_id %> - <% else %> - <%= f.number_field :sheet_id, elm.field_tag_attributes(:sheet_id, no_attr) %> - <% end %> - - <%= f.label :panel_id %> - <% if elm.new_record? %> - <%= f.number_field :panel_id %> - <% else %> - <%= f.number_field :panel_id, elm.field_tag_attributes(:panel_id, no_attr) %> - <% end %> -
-
- <%= f.label :x %> - <% if elm.new_record? %> - <%= f.number_field :x %> - <% else %> - <%= f.number_field :x, elm.field_tag_attributes(:x, no_attr, :size => 5) %> - <% end %> - - <%= f.label :y %> - <% if elm.new_record? %> - <%= f.number_field :y %> - <% else %> - <%= f.number_field :y, elm.field_tag_attributes(:y, no_attr, :size => 5) %> - <% end %> -
-
-
-
- <%= f.label :z %> - <% if elm.new_record? %> - <%= f.number_field :z %> - <% else %> - <%= f.number_field :z, elm.field_tag_attributes(:z, no_attr, :size => 5) %> - <% end %> - - <%= f.label :t %> - <% if elm.new_record? %> - <%= f.number_field :t %> - <% else %> - <%= f.number_field :t, elm.field_tag_attributes(:t, no_attr, :size => 5) %> - <% end %> -
-
-
- - <% unless elm.new_record? %> - <%= f.hidden_field :id, elm.field_tag_attributes(:id, no_attr) %> - <% end %> - -
- <%= f.submit t('sheet_panels.submit'), :class => "submit" %> -
-<% end %> diff --git a/app/views/sheet_panels/edit.html.erb b/app/views/sheet_panels/edit.html.erb deleted file mode 100644 index 1264b234..00000000 --- a/app/views/sheet_panels/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -<%= render @sheet_panel.form_template, :elm => @sheet_panel, :no_attr => 0 %> diff --git a/app/views/sheet_panels/new.html.erb b/app/views/sheet_panels/new.html.erb deleted file mode 100644 index 0a817c8b..00000000 --- a/app/views/sheet_panels/new.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

<%= t('.title') %>

- -<%= render @sheet_panel.form_template, :elm => @sheet_panel, :no_attr => 0 %> diff --git a/app/views/sheets/_form.html.erb b/app/views/sheets/_form.html.erb deleted file mode 100644 index c4069b1b..00000000 --- a/app/views/sheets/_form.html.erb +++ /dev/null @@ -1,103 +0,0 @@ -
- -
- <%= form_for(@sheet) do |f| %> - <%= render 'system/error_explanation', :obj => @sheet %> - -
- <%= f.label :caption %> - <%= f.text_field :caption, :id => @sheet.field_tag_id(:caption), :sheet_id => @sheet.tag_sheet_id, :column => :caption -%> -
-
-
-
- <%= f.label :width %> - <%= f.number_field :width, :size => 5, :id => @sheet.field_tag_id(:width), :sheet_id => @sheet.tag_sheet_id, :column => :width %> - - <%= f.label :height %> - <%= f.number_field :height, :size => 5, :id => @sheet.field_tag_id(:height), :sheet_id => @sheet.tag_sheet_id, :column => :height %> - -
-
-
-
- <%= f.label :visible %> - <%= f.collection_select :visible, t_select_items(manifest.system_resources.select_items['sheet_visible_items']), :last, :first, {:html => {:selected => @sheet.visible}}, {:id => @sheet.field_tag_id(:visible), :sheet_id => @sheet.tag_sheet_id, :column => :visible} %> -
-
-
- <% unless @sheet.new_record? %> - <%= f.hidden_field :id, :id => @sheet.field_tag_id(:id), :sheet_id => @sheet.tag_sheet_id, :column => :id %> - <% end %> -
- <%= f.submit 'sheets.submit', :class => "submit" %> -
- <% end %> -
-
-
-
    - <% @sheet.sheet_elements.each do |elm| %> - <%= render 'element_tab', :elm => elm %> - <% end %> -
- <% @sheet.sheet_elements.each do |elm| %> -
-
- <%= render elm.form_template, :elm => elm, :no_attr => 0 %> - <%= hidden_field_tag '_destroy', '', :id => elm.field_tag_id(:_destroy), :sheet_id => elm.tag_sheet_id, :element_id => elm.tag_element_id, :element_type => elm.tag_element_type, :column => :_destroy %> -
-
- <% end %> -
-
-
-
-
    - <% @sheet.sheet_elements.each do |elm| %> -
  • -
    - <%= render elm.path_name + '/element_face', :elm => elm %> -
    -
  • - <% end %> -
-
-
- <% @sheet.sheet_elements.each do |elm| %> -
- <%= render elm.scenario_template, :elm => elm, :no_attr => 0 %> -
- <% end %> -
-
-
-
-
-
-
    - <% @sheet.zorderd_elements.each do |elm| %> -
  • -
    - <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %> -
    -
  • - <% end %> -
-
-
-
-
-
-<%= form_for(@sheet, :html => {:jqform => 'pettanr-sheet-form'}) do |f| %> - <%= text_field_tag "json", '', :id => 'pettanr-sheet-json' %> -
- <%= submit_tag t('sheets.create_from_json'), :id => 'pettanr-sheet-submit' -%> -
-<% end %> diff --git a/app/views/sheets/edit.html.erb b/app/views/sheets/edit.html.erb deleted file mode 100644 index 203d91a4..00000000 --- a/app/views/sheets/edit.html.erb +++ /dev/null @@ -1,16 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -
- <%= render 'sheets/body', :sheet => @sheet, :author => @author %> -
- <% @sheet.sheet_elements.each do |sheet_panel| %> - <%= render 'sheet_panels/play_footer', :sheet_panel => sheet_panel, :author => @author %> - <% end %> -
-
-
-
-<%= render 'form', :sheet => @sheet %> -<%= link_to t('link.destroy'), sheet_path(@sheet), :method => :delete %> -<%= render 'sheet_panels/licensed_pictures', :licensed_pictures => @sheet.licensed_pictures %> diff --git a/app/views/sheets/new.html.erb b/app/views/sheets/new.html.erb deleted file mode 100644 index 3371291f..00000000 --- a/app/views/sheets/new.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

<%= t('.title') %>

- -
- <%= render 'sheets/body', :sheet => @sheet, :author => @author %> -
- <% @sheet.sheet_elements.each do |sheet_panel| %> - <%= render 'sheet_panels/play_footer', :sheet_panel => sheet_panel, :author => @author %> - <% end %> -
-
-
-
-<%= render 'form', :sheet => @sheet %> diff --git a/app/views/stories/_form.html.erb b/app/views/stories/_form.html.erb deleted file mode 100644 index 02b141b2..00000000 --- a/app/views/stories/_form.html.erb +++ /dev/null @@ -1,44 +0,0 @@ -<%= form_for(@story) do |f| %> - <%= render 'system/error_explanation', :obj => @story %> - -
- <%= f.label :comic_id %>
- <%= f.number_field :comic_id %> -
-
-
-
- <%= f.label :title %>
- <%= f.text_field :title %> -
-
-
-
- <%= f.label :description %>
- <%= f.text_area :description %> -
-
-
-
- <%= f.label :visible %>
- <%= f.collection_select :visible, t_select_items(manifest.system_resources.select_items['story_visible_items']), :last, :first, :html => {:selected => @story.visible} %> -
-
-
-
- <%= f.label :author_id %>
- <%= h @operators.author.name %> -
-
-
-
- <%= f.label :t %>
- <%= f.number_field :t %> -
-
-
- -
- <%= f.submit %> -
-<% end %> diff --git a/app/views/stories/edit.html.erb b/app/views/stories/edit.html.erb deleted file mode 100644 index 1d67f75e..00000000 --- a/app/views/stories/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -<%= render 'form' %> diff --git a/app/views/stories/new.html.erb b/app/views/stories/new.html.erb deleted file mode 100644 index f33a2f89..00000000 --- a/app/views/stories/new.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

<%= t('.title') %>

- -<%= render 'form' %> diff --git a/app/views/story_sheets/_form.html.erb b/app/views/story_sheets/_form.html.erb deleted file mode 100644 index 3d8b0752..00000000 --- a/app/views/story_sheets/_form.html.erb +++ /dev/null @@ -1,26 +0,0 @@ -<%= form_for(@story_sheet) do |f| %> - <%= render 'system/error_explanation', :obj => @story_sheet %> - -
- <%= f.label :story_id %>
- <%= f.number_field :story_id %> -
-
-
-
- <%= f.label :sheet_id %>
- <%= f.number_field :sheet_id %> -
-
-
-
- <%= f.label :t %>
- <%= f.number_field :t %> -
-
-
- -
- <%= f.submit %> -
-<% end %> diff --git a/app/views/story_sheets/edit.html.erb b/app/views/story_sheets/edit.html.erb deleted file mode 100644 index 1d67f75e..00000000 --- a/app/views/story_sheets/edit.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -

<%= t('.title') %>

-

<%= notice %>

- -<%= render 'form' %> diff --git a/app/views/story_sheets/new.html.erb b/app/views/story_sheets/new.html.erb deleted file mode 100644 index f33a2f89..00000000 --- a/app/views/story_sheets/new.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -

<%= t('.title') %>

- -<%= render 'form' %> diff --git a/lib/locmare/list_group/list/filter.rb b/lib/locmare/list_group/list/filter.rb index b1050913..4f98930c 100644 --- a/lib/locmare/list_group/list/filter.rb +++ b/lib/locmare/list_group/list/filter.rb @@ -7,6 +7,8 @@ module Locmare super @filter_key = @list_manifest.filter_key @filter_item_name = @list_manifest.filter_item_name + @filter_model = ::Manifest.manifest.models[@filter_item_name].classify + @filter_table_name = @filter_model.table_name end def where_condition filter_item_id @@ -21,14 +23,32 @@ module Locmare w end + def visible? item_id, operators + r = nil + begin + r = @filter_model.show(item_id, operators) + rescue ActiveRecord::RecordNotFound, ActiveRecord::Forbidden + r = false + end + r + end + def items operators, options, offset, page_size filter_item_id = options[:id] - @model.where(self.where_condition(filter_item_id)).includes(self.include_hash).order(self.order).offset(offset).limit(page_size) + if self.visible? filter_item_id, operators + @model.where(self.where_condition(filter_item_id)).includes(self.include_hash).order(self.order).offset(offset).limit(page_size) + else + [] + end end def count operators, options filter_item_id = options[:id] - @model.where(self.where_condition(filter_item_id)).includes(self.include_hash).count + if self.visible? filter_item_id, operators + @model.where(self.where_condition(filter_item_id)).includes(self.include_hash).count + else + 0 + end end end diff --git a/lib/locmare/list_group/list/through_filter.rb b/lib/locmare/list_group/list/through_filter.rb index 322cd3f4..d0317d4f 100644 --- a/lib/locmare/list_group/list/through_filter.rb +++ b/lib/locmare/list_group/list/through_filter.rb @@ -6,7 +6,6 @@ module Locmare def init super @through = @list_manifest.through - @filter_table_name = ::Manifest.manifest.models[@filter_item_name].classify.table_name end def include_hash diff --git a/lib/peta/root.rb b/lib/peta/root.rb index 5646504d..db49986a 100644 --- a/lib/peta/root.rb +++ b/lib/peta/root.rb @@ -22,6 +22,132 @@ module Peta r end + def parts_element + r = [] + self.class.child_models.each do |k| + r += (self.element_items(k) || []) + end + r + end + + def zorderd_elements + res = [] + self.parts_element.each do |e| + res[e.z-1] = e + end + res + end + + def scenario_elements + res = [] + self.parts_element.each do |e| + res[e.t] = e + end + res + end + + def elements + self.scenario_elements.map {|e| + #(-_-;)<... kore wa hidoi + JSON.parse e.to_json({:include => e.class.json_opt_for_panel}) + } + end + + def scenario_elements_as_json + self.to_json({:include => {:author => {}}, :methods => :elements}) + end + + def self.list_as_json_text ary + '[' + ary.map {|i| i.panel_elements_as_json }.join(',') + ']' + end + + def new_t + self.scenario_elements.size + end + + def new_z + self.scenario_elements.size + 1 + end + + def self.collect_element_value elements, name + elements.map {|e| + if e['_destroy'] or e[:_destroy] + nil + else + e[name] + end + } + end + + def self.validate_serial ary, offset = 0 + i = offset + ary.compact.sort.each do |n| + break false unless n == i + i += 1 + end + ary.compact.size == i - offset + end + + def self.validate_element_serial elements, name, offset = 0 + self.validate_serial(self.collect_element_value(elements, name), offset) + end + + def self.validate_elements_serial c + c.map {|conf| + self.validate_element_serial(conf[:elements], conf[:name], conf[:offset]) ? nil : false + }.compact.empty? + end + + def validate_serial_list + [ + {:elements => self.elements_items, :name => :t, :offset => 0}, + {:elements => self.elements_items, :name => :z, :offset => 1} + ] + end + + def validate_child + # r1 = Panel.validate_elements_id validate_id_list + self.class.validate_elements_serial validate_serial_list + end + + def store attr, operators + if attr == false + self.errors.add :base, I18n.t('errors.invalid_json') + return false + end + self.attributes = attr + self.overwrite operators + res = false + self.class.transaction do + self.boosts 'post' + res = self.save + unless validate_child + res = false + self.errors.add :base, I18n.t('errors.invalid_t') + raise ActiveRecord::Rollback + end + end + res + end + + def destroy_with_elements + res = false + self.class.transaction do + self.parts_element.each do |element| + raise ActiveRecord::Rollback unless element.destroy + end + raise ActiveRecord::Rollback unless self.destroy + res = true + end + res + end + + def self.panelize panel + attr = panel.attributes + attr.delete 'id' + attr + end + end end -- 2.11.0