OSDN Git Service

fix edit extend_item
authoryasushiito <yas@pen-chan.jp>
Fri, 4 Apr 2014 09:13:54 +0000 (18:13 +0900)
committeryasushiito <yas@pen-chan.jp>
Fri, 4 Apr 2014 09:13:54 +0000 (18:13 +0900)
24 files changed:
app/assets/javascripts/manifest/work/controllers.js.coffee.erb
app/assets/javascripts/manifest/work/filers.js.coffee.erb
app/assets/javascripts/manifest/work/forms.js.coffee.erb
app/assets/javascripts/manifest/work/models.js.coffee.erb
app/controllers/application_controller.rb
app/controllers/license_groups_controller.rb
app/controllers/licenses_controller.rb
app/controllers/speech_balloon_templates_controller.rb
app/controllers/writing_formats_controller.rb
app/models/balloon.rb
app/models/license.rb
app/models/speech.rb
app/models/speech_balloon.rb
config/locales/ja.yml
lib/locmare/booster.rb
lib/manifest/item/boost.rb
lib/peta/content.rb
lib/peta/system_resource.rb
lib/validators/boost_validator.rb [new file with mode: 0644]
lib/validators/extend_balloon_validator.rb [deleted file]
lib/validators/extend_speech_balloon_validator.rb [deleted file]
lib/validators/extend_speech_validator.rb [deleted file]
public/local_manifest.json
public/manifest.json

index 9316b66..58fd878 100644 (file)
           list_name: 'public',\r
         },\r
       },\r
+      new: {\r
+        type: 'new',\r
+      },\r
+      edit: {\r
+        type: 'edit',\r
+      },\r
     },\r
   },\r
   writing_formats: {\r
       count_by_system_picture: {\r
         type: 'count',\r
       },\r
+      new: {\r
+        type: 'new',\r
+      },\r
+      edit: {\r
+        type: 'edit',\r
+      },\r
     },\r
   },\r
   license_groups: {\r
           list_name: 'public',\r
         },\r
       },\r
+      new: {\r
+        type: 'new',\r
+      },\r
+      edit: {\r
+        type: 'edit',\r
+      },\r
     },\r
   },\r
   licenses: {\r
       count_by_system_picture: {\r
         type: 'count',\r
       },\r
+      new: {\r
+        type: 'new',\r
+      },\r
+      edit: {\r
+        type: 'edit',\r
+      },\r
     },\r
   },\r
   authors: {\r
index 28fb5cc..97818ff 100644 (file)
       type: 'none',\r
     },\r
     edit: {\r
-      type: 'none',\r
     },\r
   },\r
   writing_format: {\r
       type: 'none',\r
     },\r
     edit: {\r
-      type: 'none',\r
     },\r
   },\r
   license_group: {\r
       type: 'none',\r
     },\r
     edit: {\r
-      type: 'none',\r
     },\r
   },\r
   license: {\r
     summary: {\r
     },\r
     edit: {\r
-      type: 'none',\r
     },\r
   },\r
   author: {\r
index 8fafe2c..80540fe 100644 (file)
         'z',\r
         't',\r
       ]\r
+    },\r
+    speech_balloon_template: {\r
+      fields: {\r
+        id: {\r
+          args: {\r
+            label: {\r
+              type: 'none',\r
+            },\r
+            tag: {\r
+              type: 'hidden',\r
+            },\r
+          },\r
+        },\r
+        name: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        classname: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        caption: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        t: {\r
+          args: {\r
+            tag: {\r
+              type: 'number',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        system_picture_id: {\r
+          args: {\r
+            tag: {\r
+              type: 'number',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        settings: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+      },\r
+      field_names: [\r
+        'id',\r
+        'name',\r
+        'classname',\r
+        'caption',\r
+        't',\r
+        'system_picture_id',\r
+        'settings',\r
+      ]\r
+    },\r
+    writing_format: {\r
+      fields: {\r
+        id: {\r
+          args: {\r
+            label: {\r
+              type: 'none',\r
+            },\r
+            tag: {\r
+              type: 'hidden',\r
+            },\r
+          },\r
+        },\r
+        name: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        classname: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        caption: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        system_picture_id: {\r
+          args: {\r
+            tag: {\r
+              type: 'number',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        settings: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+      },\r
+      field_names: [\r
+        'id',\r
+        'name',\r
+        'classname',\r
+        'caption',\r
+        'system_picture_id',\r
+        'settings',\r
+      ]\r
+    },\r
+    license_group: {\r
+      fields: {\r
+        id: {\r
+          args: {\r
+            label: {\r
+              type: 'none',\r
+            },\r
+            tag: {\r
+              type: 'hidden',\r
+            },\r
+          },\r
+        },\r
+        name: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        classname: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        caption: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        url: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+      },\r
+      field_names: [\r
+        'id',\r
+        'name',\r
+        'classname',\r
+        'caption',\r
+        'url',\r
+      ]\r
+    },\r
+    license: {\r
+      fields: {\r
+        id: {\r
+          args: {\r
+            label: {\r
+              type: 'none',\r
+            },\r
+            tag: {\r
+              type: 'hidden',\r
+            },\r
+          },\r
+        },\r
+        license_group_id: {\r
+          args: {\r
+            label: {\r
+              type: 'none',\r
+            },\r
+            tag: {\r
+              type: 'hidden',\r
+            },\r
+          },\r
+        },\r
+        license_group_classname: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        name: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        caption: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        system_picture_id: {\r
+          args: {\r
+            tag: {\r
+              type: 'number',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        url: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        license_group_settings: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+        credit_picture_settings: {\r
+          args: {\r
+            tag: {\r
+              type: 'text',\r
+            },\r
+            row_break: true,\r
+          },\r
+        },\r
+      },\r
+      field_names: [\r
+        'id',\r
+        'license_group_id',\r
+        'license_group_classname',\r
+        'name',\r
+        'caption',\r
+        'system_picture_id',\r
+        'url',\r
+        'icense_group_settings',\r
+        'credit_picture_settings',\r
+      ]\r
     }\r
     author: {\r
       fields: {\r
index e4de010..bddc23d 100644 (file)
         rules : {\r
         }\r
       },\r
-      credit_pictures: {\r
+      credit_picture_settings: {\r
         type: 'text',\r
         rules : {\r
         }\r
index 2b1f42c..235e0ef 100644 (file)
@@ -66,8 +66,12 @@ class ApplicationController < ActionController::Base
     authenticate_user! unless @operators.user?
   end
   
-  def authenticate_resource_reader
-    authenticate_user! unless @operators.resource_reader?
+  def authenticate_user
+    authenticate_user! unless @operators.user?
+  end
+  
+  def authenticate_admin
+    authenticate_admin! unless @operators.admin?
   end
   
   def authenticate_author
index 5c2aedf..9d1172f 100644 (file)
@@ -1,5 +1,5 @@
 class LicenseGroupsController < ApplicationController
-  before_filter :authenticate_admin!, :only => []
+  before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
   
   def self.model
     LicenseGroup
@@ -28,4 +28,12 @@ class LicenseGroupsController < ApplicationController
     list_count
   end
   
+  def new
+    form_new
+  end
+  
+  def edit
+    form_edit
+  end
+  
 end
index 4051865..8456d6e 100644 (file)
@@ -2,6 +2,7 @@ class LicensesController < ApplicationController
   before_filter :authenticate_resource_reader, :only => [
     :by_license_group, :by_system_picture, :count_by_license_group, :count_by_system_picture
   ]
+  before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
 
   def self.model
     License
@@ -55,4 +56,12 @@ class LicensesController < ApplicationController
     list_count
   end
   
+  def new
+    form_new
+  end
+  
+  def edit
+    form_edit
+  end
+  
 end
index 61be851..848dfe9 100644 (file)
@@ -7,7 +7,7 @@ class SpeechBalloonTemplatesController < ApplicationController
     ]
     before_filter :authenticate_user, :only => []
   end
-  before_filter :authenticate_admin!, :only => [:destroy]
+  before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
 
   def self.model
     SpeechBalloonTemplate
@@ -44,6 +44,14 @@ class SpeechBalloonTemplatesController < ApplicationController
     list_count
   end
   
+  def new
+    form_new
+  end
+  
+  def edit
+    form_edit
+  end
+  
   def destroy
     @speech_balloon_template = SpeechBalloonTemplate.find(params[:id])
     @speech_balloon_template.destroy
index 520cf61..5e72055 100644 (file)
@@ -5,7 +5,7 @@ class WritingFormatsController < ApplicationController
     before_filter :authenticate_reader, :only => [:index, :show, :count]
     before_filter :authenticate_user, :only => []
   end
-  before_filter :authenticate_admin!, :only => [:destroy]
+  before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
 
   def self.model
     WritingFormat
@@ -29,9 +29,17 @@ class WritingFormatsController < ApplicationController
       show_json_format format
     end
   end
-
+  
   def count
     list_count
   end
   
+  def new
+    form_new
+  end
+  
+  def edit
+    form_edit
+  end
+  
 end
index 74c4122..279d9f8 100644 (file)
@@ -14,7 +14,7 @@ class Balloon < Peta::Element
   validates :height, :presence => true, :numericality => true, :natural_number => true
   validates :r, :presence => true, :numericality => true
 #  validates :caption, :presence => true
-  validates :speech_balloon_template_settings, :extend_balloon => true
+  validates :speech_balloon_template_settings, :boost => {:resource_name => :speech_balloon_template}
 
   def url
     '/system_pictures/' + self.system_picture.filename
index 70e8001..c21e592 100644 (file)
@@ -1,5 +1,5 @@
 #
-class License < Peta::Item
+class License < Peta::SystemResource
   load_manifest
   belongs_to :license_group
   belongs_to :system_picture
index acd0a83..963031c 100644 (file)
@@ -17,7 +17,7 @@ class Speech < Peta::Element
   validates :width, :presence => true, :numericality => true, :natural_number => true
   validates :height, :presence => true, :numericality => true, :natural_number => true
   validates :quotes, :length => {:maximum => 15}, :quotes_even => true
-  validates :speech_balloon_template_settings, :extend_speech => true
+  validates :speech_balloon_template_settings, :boost => {:resource_name => :speech_balloon_template}
   #validates :writing_format_settings
   
   @@text_align_texts = ['left', 'left', 'right', 'center']
index 58c5654..deeb5fa 100644 (file)
@@ -13,7 +13,7 @@ class SpeechBalloon < Peta::Element
   validates :speech_balloon_template_classname, :presence => true, :length => {:maximum => 50}
   validates :z, :presence => true, :numericality => {:greater_than => 0}
   validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
-  validates :speech_balloon_template_settings, :extend_speech_balloon => true
+  validates :speech_balloon_template_settings, :boost => {:resource_name => :speech_balloon_template}
   
   def self.by_author_list_includes
     {
index 9ebb7de..8f3cd85 100644 (file)
@@ -127,9 +127,7 @@ ja:
       reverse: は反転できません。
       sync_vh: は縦横比を変更できません。
       quotes_even: はカッコの開きと閉じを空白区切りのペアで入力してください。
-      speech_balloon_extend: バリデーションに失敗しました。
-      balloon_extend: バリデーションに失敗しました。
-      speech_extend: バリデーションに失敗しました。
+      extend_settings: 拡張データのバリデーションに失敗しました。
     template:
       body: 次の項目を確認してください。
       header:
index c4bf673..8399bf3 100644 (file)
@@ -5,10 +5,13 @@ module Locmare
     def initialize manifest, item
       @manifest = manifest
       @item = item
+      raise 'blank foreign_key' + @manifest.name unless self.check_resource
       # no check
       # return false unless self.resource.enable?
-      @item.extend self.engine_extend_module
-      @item.__send__ @manifest.setter_method_name, self.parsed_settings
+      if extendable?
+        @item.extend self.engine_extend_module
+        @item.__send__ @manifest.setter_method_name, self.parsed_settings
+      end
       @boosted = true
     end
     
@@ -50,6 +53,10 @@ module Locmare
       Object.const_get self.class_name
     end
     
+    def extendable?
+      self.engine_module.constants.include? @manifest.extend_module_name
+    end
+    
     # extend module in engine
     # ex) CircleSpeechBalloon::SpeechBalloonModule
     def engine_extend_module
@@ -62,10 +69,14 @@ module Locmare
       self.engine_module.const_get @manifest.extend_model_name
     end
     
+    def check_resource
+      @item.attributes[@manifest.foreign_key].blank? == false
+    end
+    
     # get system resource instance
     def resource
-      r = @item.__send__ @manifest.name
-      raise 'resource not found' unless r
+      r = @item.__send__ @manifest.resource_name
+      raise 'resource not found' + @manifest.resource_name unless r
       r
     end
     
index a9336de..e3c1cb6 100644 (file)
@@ -1,7 +1,7 @@
 module Manifest
   module ItemModule
     class Boost < ManifestBase::NameValues
-      attr :level, :extend_column_name, :settings_column_name, 
+      attr :level, :resource_name, :extend_column_name, :settings_column_name, 
         :foreign_key, :extend_model_class_name, :extend_item_name, 
         :setter_method_name, :getter_method_name, 
         :extend_module_name
@@ -9,9 +9,10 @@ module Manifest
       def set_default
         super
         @values['level'] ||= 'post'
-        @values['extend_column_name'] ||= @name + '_classname'
-        @values['settings_column_name'] ||= @name + '_settings'
-        @values['foreign_key'] ||= @name + '_id'
+        @values['resource_name'] ||= @name
+        @values['extend_column_name'] ||= @values['resource_name'] + '_classname'
+        @values['settings_column_name'] ||= @values['resource_name'] + '_settings'
+        @values['foreign_key'] ||= @values['resource_name'] + '_id'
       end
       
       def init
index f544a63..1fdc473 100644 (file)
@@ -63,6 +63,7 @@ module Peta
       raise ActiveRecord::Forbidden unless content.own?(operators)
       content
     end
+    
     # Instance Methods
     
     def owner_model
index f425144..b1ca3bd 100644 (file)
@@ -12,6 +12,12 @@ module Peta
       }
     end
     
+    def self.edit system_resource_id, operators
+      system_resource = self.find system_resource_id, self.show_opt
+      raise ActiveRecord::Forbidden unless system_resource.own?(operators)
+      system_resource
+    end
+    
     def my_engine_resource
       Manifest.manifest.system_resources.engine_resources[self.item_name]
     end
@@ -21,5 +27,9 @@ module Peta
       er.resource_items.include? self.classname
     end
     
+    def own? operators
+      operators.admin?
+    end
+    
   end
 end
diff --git a/lib/validators/boost_validator.rb b/lib/validators/boost_validator.rb
new file mode 100644 (file)
index 0000000..40dce60
--- /dev/null
@@ -0,0 +1,8 @@
+class BoostValidator < ActiveModel::EachValidator\r
+  def validate_each(record, attribute, value)\r
+    resource = record.boosters[options[:resource_name].to_s].resource\r
+    msg = options[:message] || I18n.t('activerecord.errors.messages.extend_settings')\r
+    record.errors[attribute] << msg unless resource.valid?\r
+  end\r
+end\r
+\r
diff --git a/lib/validators/extend_balloon_validator.rb b/lib/validators/extend_balloon_validator.rb
deleted file mode 100644 (file)
index 7b9574b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-class ExtendBalloonValidator < ActiveModel::EachValidator\r
-  def validate_each(record, attribute, value)\r
-    record.errors[attribute] << (options[:message] || I18n.t('activerecord.errors.messages.balloon_extend')) unless true #record.extend_balloon.valid?\r
-  end\r
-end\r
-\r
diff --git a/lib/validators/extend_speech_balloon_validator.rb b/lib/validators/extend_speech_balloon_validator.rb
deleted file mode 100644 (file)
index b4e21d2..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-class ExtendSpeechBalloonValidator < ActiveModel::EachValidator\r
-  def validate_each(record, attribute, value)\r
-    record.errors[attribute] << (options[:message] || I18n.t('activerecord.errors.messages.speech_balloon_extend')) unless record.extend_speech_balloon.valid?\r
-  end\r
-end\r
-\r
diff --git a/lib/validators/extend_speech_validator.rb b/lib/validators/extend_speech_validator.rb
deleted file mode 100644 (file)
index 755c0e0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-class ExtendSpeechValidator < ActiveModel::EachValidator\r
-  def validate_each(record, attribute, value)\r
-    record.errors[attribute] << (options[:message] || I18n.t('activerecord.errors.messages.speech_extend')) unless true # record.extend_speech.valid?\r
-  end\r
-end\r
-\r
index 5f5e6e8..d43cfb5 100644 (file)
       }\r
     },\r
     "speech_balloon": {\r
+      "columns": {\r
+        "speech_balloon_template_settings": {\r
+          "type": "extend"\r
+        }\r
+      },\r
       "column_names": [\r
         "panel_id",\r
+        "caption",\r
         "speech_balloon_template_id",\r
         "speech_balloon_template_classname",\r
         "z",\r
         "t",\r
-        "speech_balloon_template_settings",\r
-        "caption"\r
+        "speech_balloon_template_settings"\r
       ],\r
       "associations": {\r
         "belongs_to": [\r
       }\r
     },\r
     "speech": {\r
+      "columns": {\r
+        "speech_balloon_template_settings": {\r
+          "type": "extend"\r
+        }\r
+      },\r
       "column_names": [\r
         "speech_balloon_id",\r
         "speech_balloon_template_id",\r
       }\r
     },\r
     "balloon": {\r
+      "columns": {\r
+        "speech_balloon_template_settings": {\r
+          "type": "extend"\r
+        }\r
+      },\r
       "column_names": [\r
         "speech_balloon_id",\r
         "speech_balloon_template_id",\r
         "system_picture_id",\r
         "settings"\r
       ],\r
+      "extend_settings": {\r
+        "circle_speech_balloon_speech_balloon": {\r
+          "columns": {},\r
+          "column_names": []\r
+        },\r
+        "circle_speech_balloon_balloon": {\r
+          "columns": {},\r
+          "column_names": []\r
+        },\r
+        "circle_speech_balloon_speech": {\r
+          "columns": {},\r
+          "column_names": []\r
+        },\r
+        "plain_speech_balloon_speech_balloon": {\r
+          "columns": {},\r
+          "column_names": []\r
+        },\r
+        "square_speech_balloon_speech_balloon": {\r
+          "columns": {},\r
+          "column_names": []\r
+        }\r
+      },\r
       "associations": {\r
         "belongs_to": [\r
           "system_picture"\r
         "system_picture_id",\r
         "settings"\r
       ],\r
+      "extend_settings": {\r
+        "pettanr_simple_format_writing_format": {\r
+          "columns": {},\r
+          "column_names": []\r
+        }\r
+      },\r
       "associations": {\r
         "belongs_to": [\r
           "system_picture"\r
         "caption",\r
         "url"\r
       ],\r
+      "extend_settings": {\r
+        "pettanr_pettan_commons_v01_licenses": {\r
+          "columns": {\r
+            "open": {},\r
+            "commercial": {},\r
+            "official": {},\r
+            "attribution": {},\r
+            "derive": {},\r
+            "thumbnail": {},\r
+            "gif_convert": {},\r
+            "reverse": {},\r
+            "sync_vh": {},\r
+            "overlap": {}\r
+          },\r
+          "column_names": [\r
+            "open",\r
+            "commercial",\r
+            "official",\r
+            "attribution:",\r
+            "derive",\r
+            "thumbnail",\r
+            "gif_convert",\r
+            "reverse",\r
+            "sync_vh",\r
+            "overlap"\r
+          ]\r
+        }\r
+      },\r
       "associations": {\r
         "has_many": [\r
           "licenses.by_license_group"\r
       }\r
     },\r
     "license": {\r
+      "columns": {\r
+        "license_group_id": {},\r
+        "license_group_classname": {},\r
+        "name": {},\r
+        "caption": {},\r
+        "system_picture_id": {},\r
+        "url": {},\r
+        "license_group_settings": {\r
+          "type": "extend"\r
+        }\r
+      },\r
       "column_names": [\r
         "license_group_id",\r
         "license_group_classname",\r
       "summary": {\r
         "type": "none"\r
       },\r
-      "edit": {\r
-        "type": "none"\r
-      }\r
+      "edit": {}\r
     },\r
     "writing_format": {\r
       "symbol": {},\r
       "summary": {\r
         "type": "none"\r
       },\r
-      "edit": {\r
-        "type": "none"\r
-      }\r
+      "edit": {}\r
     },\r
     "license_group": {\r
       "symbol": {},\r
       "summary": {\r
         "type": "none"\r
       },\r
-      "edit": {\r
-        "type": "none"\r
-      }\r
+      "edit": {}\r
     },\r
     "license": {\r
       "symbol": {},\r
         }\r
       },\r
       "summary": {},\r
-      "edit": {\r
-        "type": "none"\r
-      }\r
+      "edit": {}\r
     },\r
     "author": {\r
       "symbol": {},\r
           "t"\r
         ]\r
       },\r
+      "speech_balloon_template": {\r
+        "fields": {\r
+          "id": {\r
+            "args": {\r
+              "label": {\r
+                "type": "none"\r
+              },\r
+              "tag": {\r
+                "type": "hidden"\r
+              }\r
+            }\r
+          },\r
+          "name": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "classname": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "caption": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "t": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "number"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "system_picture_id": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "number"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "settings": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          }\r
+        },\r
+        "field_names": [\r
+          "id",\r
+          "name",\r
+          "classname",\r
+          "caption",\r
+          "t",\r
+          "system_picture_id",\r
+          "settings"\r
+        ]\r
+      },\r
+      "writing_format": {\r
+        "fields": {\r
+          "id": {\r
+            "args": {\r
+              "label": {\r
+                "type": "none"\r
+              },\r
+              "tag": {\r
+                "type": "hidden"\r
+              }\r
+            }\r
+          },\r
+          "name": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "classname": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "caption": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "system_picture_id": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "number"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "settings": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          }\r
+        },\r
+        "field_names": [\r
+          "id",\r
+          "name",\r
+          "classname",\r
+          "caption",\r
+          "system_picture_id",\r
+          "settings"\r
+        ]\r
+      },\r
+      "license_group": {\r
+        "fields": {\r
+          "id": {\r
+            "args": {\r
+              "label": {\r
+                "type": "none"\r
+              },\r
+              "tag": {\r
+                "type": "hidden"\r
+              }\r
+            }\r
+          },\r
+          "name": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "classname": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "caption": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "url": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          }\r
+        },\r
+        "field_names": [\r
+          "id",\r
+          "name",\r
+          "classname",\r
+          "caption",\r
+          "url"\r
+        ]\r
+      },\r
+      "license": {\r
+        "fields": {\r
+          "id": {\r
+            "args": {\r
+              "label": {\r
+                "type": "none"\r
+              },\r
+              "tag": {\r
+                "type": "hidden"\r
+              }\r
+            }\r
+          },\r
+          "license_group_id": {\r
+            "args": {\r
+              "label": {\r
+                "type": "none"\r
+              },\r
+              "tag": {\r
+                "type": "hidden"\r
+              }\r
+            }\r
+          },\r
+          "license_group_classname": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "name": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "caption": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "system_picture_id": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "number"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "url": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "license_group_settings": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          },\r
+          "credit_picture_settings": {\r
+            "args": {\r
+              "tag": {\r
+                "type": "text"\r
+              },\r
+              "row_break": true\r
+            }\r
+          }\r
+        },\r
+        "field_names": [\r
+          "id",\r
+          "license_group_id",\r
+          "license_group_classname",\r
+          "name",\r
+          "caption",\r
+          "system_picture_id",\r
+          "url",\r
+          "icense_group_settings",\r
+          "credit_picture_settings"\r
+        ]\r
+      },\r
       "author": {\r
         "fields": {\r
           "id": {\r
index 409de05..4a484de 100644 (file)
       "args": {\r
         "parent_model_name": "license_group",\r
         "boost": {\r
-          "license_group": {}\r
+          "license_group": {},\r
+          "credit_picture": {\r
+            "extend_item_name": "credit_picture",\r
+            "extend_column_name": "license_group_classname"\r
+          }\r
         }\r
       }\r
     },\r
           "args": {\r
             "list_name": "public"\r
           }\r
+        },\r
+        "new": {\r
+          "type": "new"\r
+        },\r
+        "edit": {\r
+          "type": "edit"\r
         }\r
       }\r
     },\r
         },\r
         "count_by_system_picture": {\r
           "type": "count"\r
+        },\r
+        "new": {\r
+          "type": "new"\r
+        },\r
+        "edit": {\r
+          "type": "edit"\r
         }\r
       }\r
     },\r
           "args": {\r
             "list_name": "public"\r
           }\r
+        },\r
+        "new": {\r
+          "type": "new"\r
+        },\r
+        "edit": {\r
+          "type": "edit"\r
         }\r
       }\r
     },\r
         },\r
         "count_by_system_picture": {\r
           "type": "count"\r
+        },\r
+        "new": {\r
+          "type": "new"\r
+        },\r
+        "edit": {\r
+          "type": "edit"\r
         }\r
       }\r
     },\r