From cd04b33f21158d7885439b1f2ad6ab8783aed98f Mon Sep 17 00:00:00 2001 From: yasushiito Date: Mon, 3 Nov 2014 06:24:48 +0900 Subject: [PATCH] rename model name --- app/assets/javascripts/ap.js | 1 - .../filer/symbol/default/link/action.js.coffee | 7 --- .../local_manifest/form/field.js.coffee | 2 +- .../local_manifest/form/field/label/base.js.coffee | 2 +- .../local_manifest/list_group.js.coffee | 9 ++-- .../local_manifest/list_group/list/base.js.coffee | 12 ++++- .../profiler/association/belongs_to.js.coffee | 4 +- .../profiler/association/has_many.js.coffee | 19 +++---- .../profiler/association/has_one.js.coffee | 20 +++----- .../local_manifest/profiler/list.js.coffee | 8 +-- app/assets/javascripts/locmare/booster.js.coffee | 2 +- .../file_body/file_item/icon/default.js.coffee | 17 +++--- app/assets/javascripts/locmare/form.js.coffee | 2 +- .../locmare/form/extend_field.js.coffee | 2 +- .../locmare/form/field/label/label.js.coffee | 2 +- .../locmare/form/field/tag/base.js.coffee | 6 --- .../locmare/form/field/tag/select.js.coffee | 20 ++++---- .../javascripts/locmare/list_group.js.coffee | 18 +++++-- .../locmare/list_group/list/base.js.coffee | 38 +++++++++----- .../profiler/association/belongs_to.js.coffee | 2 +- .../profiler/association/has_many.js.coffee | 14 ++--- .../locmare/profiler/association/has_one.js.coffee | 14 ++--- .../locmare/profiler/column/base.js.coffee | 2 +- .../javascripts/manifest/controller.js.coffee | 2 - .../manifest/controller/action/base.js.coffee | 8 ++- .../manifest/controller/action/count.js.coffee | 4 +- .../manifest/controller/action/list.js.coffee | 15 +++++- .../javascripts/manifest/item/base.js.coffee | 4 +- .../javascripts/manifest/item/element.js.coffee | 4 +- .../javascripts/manifest/item/leaf.js.coffee | 6 +-- app/assets/javascripts/manifest/manifest.js.coffee | 24 +++++---- app/assets/javascripts/manifest/model.js.coffee | 10 ++-- .../manifest/model/association.js.coffee | 17 +++--- .../model/association/belongs_to.js.coffee | 6 +-- .../manifest/model/association/has_many.js.coffee | 10 ++-- .../manifest/model/association/has_one.js.coffee | 8 +-- .../javascripts/manifest/model/attribute.js.coffee | 4 +- .../manifest/model/attribute/source/base.js.coffee | 6 +-- .../model/attribute/source/model.js.coffee | 10 ++-- .../javascripts/manifest/model/list.js.coffee | 12 ----- app/assets/javascripts/peta/item.js.coffee | 3 +- app/assets/javascripts/pettanr.js.coffee | 22 ++++---- .../javascripts/work/controllers.js.coffee.erb | 60 ++++++++++++++++++++++ .../javascripts/work/list_groups.js.coffee.erb | 12 ----- app/controllers/application_controller.rb | 4 +- app/controllers/balloons_controller.rb | 24 ++++++++- app/controllers/folders_controller.rb | 2 +- app/controllers/license_groups_controller.rb | 15 ++++++ app/controllers/resource_pictures_controller.rb | 12 ++++- app/controllers/speeches_controller.rb | 24 ++++++++- config/locales/pettanr.ja.yml | 1 + config/routes.rb | 19 +++++-- lib/locmare/form/field/tag/select.rb | 2 +- lib/locmare/list_group/list/base.rb | 11 ++-- lib/locmare/list_group/list/foreign_filter.rb | 2 +- lib/locmare/profiler/association/has_one.rb | 1 + lib/manifest/controller/action/base.rb | 3 +- lib/manifest/controller/action/count.rb | 2 +- lib/manifest/system_resource.rb | 2 +- public/local_manifest.json | 12 ----- public/manifest.json | 60 ++++++++++++++++++++++ 61 files changed, 428 insertions(+), 238 deletions(-) delete mode 100644 app/assets/javascripts/manifest/model/list.js.coffee diff --git a/app/assets/javascripts/ap.js b/app/assets/javascripts/ap.js index d45e31ee..9ecd8928 100644 --- a/app/assets/javascripts/ap.js +++ b/app/assets/javascripts/ap.js @@ -62,7 +62,6 @@ //= require ./manifest/model/association/belongs_to //= require ./manifest/model/association/has_many //= require ./manifest/model/association/has_one -//= require ./manifest/model/list //= require ./local_manifest/local_manifest //= require ./local_manifest/profiler //= require ./local_manifest/profiler/column diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/link/action.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/link/action.js.coffee index fdc3fa38..42755529 100644 --- a/app/assets/javascripts/local_manifest/filer/symbol/default/link/action.js.coffee +++ b/app/assets/javascripts/local_manifest/filer/symbol/default/link/action.js.coffee @@ -8,10 +8,3 @@ class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.ActionLink super() @action_name = @args['action_name'] - action_path: () -> - a = if @action_name == 'show' - '' - else - @action_name + '/' - '/' + this.filer().item_class.path_name() + '/' + a - diff --git a/app/assets/javascripts/local_manifest/form/field.js.coffee b/app/assets/javascripts/local_manifest/form/field.js.coffee index f1c57922..55f37f55 100644 --- a/app/assets/javascripts/local_manifest/form/field.js.coffee +++ b/app/assets/javascripts/local_manifest/form/field.js.coffee @@ -24,7 +24,7 @@ class LocalManifest.FormModule.Field extends ManifestBase.NameValues column_name: () -> @name - model_name: () -> + item_name: () -> @form_name() form: () -> diff --git a/app/assets/javascripts/local_manifest/form/field/label/base.js.coffee b/app/assets/javascripts/local_manifest/form/field/label/base.js.coffee index a67c2043..f5266a19 100644 --- a/app/assets/javascripts/local_manifest/form/field/label/base.js.coffee +++ b/app/assets/javascripts/local_manifest/form/field/label/base.js.coffee @@ -14,7 +14,7 @@ class LocalManifest.FormModule.FieldModule.LabelModule.Base extends ManifestBase field_name: () -> @parent.name - model_name: () -> + item_name: () -> @form_name() column_name: () -> diff --git a/app/assets/javascripts/local_manifest/list_group.js.coffee b/app/assets/javascripts/local_manifest/list_group.js.coffee index e8c316ba..e78efb34 100644 --- a/app/assets/javascripts/local_manifest/list_group.js.coffee +++ b/app/assets/javascripts/local_manifest/list_group.js.coffee @@ -2,16 +2,15 @@ class LocalManifest.ListGroup extends ManifestBase.Base set_default: () -> super() - @json @json.lists ||= {} - #@json.item_name = Manifest.manifest().inflectors[@name] - @json.item_name = @name - + init: () -> super() - @item_name = @json.item_name @lists = ManifestBase.load_type_name_args this, @json, 'lists', LocalManifest.ListGroupModule.ListFactory + controller_name: () -> + @name + constructor: (manifest, name, json, module_name) -> super(manifest, name, json, module_name) diff --git a/app/assets/javascripts/local_manifest/list_group/list/base.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/base.js.coffee index 1f2c6a75..5dd5d99c 100644 --- a/app/assets/javascripts/local_manifest/list_group/list/base.js.coffee +++ b/app/assets/javascripts/local_manifest/list_group/list/base.js.coffee @@ -10,7 +10,17 @@ class LocalManifest.ListGroupModule.ListModule.Base extends ManifestBase.TypeNam @model = Manifest.item_name_to_model @item_name() item_name: () -> - @parent.item_name + @action_manifest().item_name + + action_manifest: () -> + c = Manifest.manifest().controllers[@controller_name()] + c.actions[@action_name()] + + action_name: () -> + @name + + controller_name: () -> + @parent.controller_name() list_group: () -> @parent diff --git a/app/assets/javascripts/local_manifest/profiler/association/belongs_to.js.coffee b/app/assets/javascripts/local_manifest/profiler/association/belongs_to.js.coffee index b69bf142..c5a09387 100644 --- a/app/assets/javascripts/local_manifest/profiler/association/belongs_to.js.coffee +++ b/app/assets/javascripts/local_manifest/profiler/association/belongs_to.js.coffee @@ -5,10 +5,10 @@ class LocalManifest.ProfilerModule.AssociationModule.BelongsTo extends ManifestB init: () -> super() - @model_name = @name + @item_name = @name model: () -> - Manifest.item_name_to_model @model_name + Manifest.item_name_to_model @item_name association_name: () -> @parent.name diff --git a/app/assets/javascripts/local_manifest/profiler/association/has_many.js.coffee b/app/assets/javascripts/local_manifest/profiler/association/has_many.js.coffee index 15ca37d1..6da3c51c 100644 --- a/app/assets/javascripts/local_manifest/profiler/association/has_many.js.coffee +++ b/app/assets/javascripts/local_manifest/profiler/association/has_many.js.coffee @@ -6,26 +6,19 @@ class LocalManifest.ProfilerModule.AssociationModule.HasMany extends ManifestBas init: () -> super() if list_manifest = @profiler().lists[@name] - @model_name = list_manifest.model_name - @list_name = list_manifest.list_name + @controller_name = list_manifest.controller_name + @action_name = list_manifest.action_name else n = @name.split '.' if n.length > 1 - @table_name = n[0] - @item_name = Manifest.manifest().controllers[@table_name].item_name - @model_name = @item_name - @list_name = n[1] + @controller_name = n[0] + @action_name = n[1] else ManifestBase.alert_undefined_message 'list', this.module_message - list_options: (id) -> - params = {controller: @table_name, action: @list_name, id: id, page: 1, page_size: 3} - cm = Manifest.manifest().controllers[@table_name] - am = cm.actions[@list_name] - {model: @model(), action: am, params: params} - model: () -> - Manifest.item_name_to_model @model_name + item_name = Manifest.manifest().controllers[@controller_name].actions[@action_name].item_name + Manifest.item_name_to_model item_name association_name: () -> @parent.association_name diff --git a/app/assets/javascripts/local_manifest/profiler/association/has_one.js.coffee b/app/assets/javascripts/local_manifest/profiler/association/has_one.js.coffee index 7c56cffd..03bdba3d 100644 --- a/app/assets/javascripts/local_manifest/profiler/association/has_one.js.coffee +++ b/app/assets/javascripts/local_manifest/profiler/association/has_one.js.coffee @@ -6,25 +6,19 @@ class LocalManifest.ProfilerModule.AssociationModule.HasOne extends ManifestBase init: () -> super() if list_manifest = @profiler().lists[@name] - @model_name = @parent.model_name - @list_name = @parent.list_name + @controller_name = list_manifest.controller_name + @action_name = list_manifest.action_name else n = @name.split '.' if n.length > 1 - @model_name = n[0] - @list_name = n[1] + @controller_name = n[0] + @action_name = n[1] else - ManifestBase.alert_undefined_message 'list', @module_message - @table_name = @model().table_name() - - list_options: (id) -> - params = {controller: @table_name, action: @list_name, id: id, page: 1, page_size: 3} - cm = Manifest.manifest().controllers[@table_name] - am = cm.actions[@list_name] - {model: @model(), action: am, params: params} + ManifestBase.alert_undefined_message 'list', this.module_message model: () -> - Manifest.item_name_to_model @model_name + item_name = Manifest.manifest().controllers[@controller_name].actions[@action_name].item_name + Manifest.item_name_to_model item_name association_name: () -> @parent.association_name diff --git a/app/assets/javascripts/local_manifest/profiler/list.js.coffee b/app/assets/javascripts/local_manifest/profiler/list.js.coffee index fef2a74e..6866f28b 100644 --- a/app/assets/javascripts/local_manifest/profiler/list.js.coffee +++ b/app/assets/javascripts/local_manifest/profiler/list.js.coffee @@ -2,13 +2,13 @@ class LocalManifest.ProfilerModule.List extends ManifestBase.NameValues set_default: () -> super() - ManifestBase.alert_undefined_message "model_name", this.module_message if not @json['model_name'] - ManifestBase.alert_undefined_message "list_name", this.module_message if not @json['list_name'] + ManifestBase.alert_undefined_message "controller_name", this.module_message if not @json['controller_name'] + ManifestBase.alert_undefined_message "action_name", this.module_message if not @json['action_name'] init: () -> super() - @model_name = @json['model_name'] - @list_name = @json['list_name'] + @model_name = @json['controller_name'] + @list_name = @json['action_name'] profiler_name: () -> @parent.item_name diff --git a/app/assets/javascripts/locmare/booster.js.coffee b/app/assets/javascripts/locmare/booster.js.coffee index 815acdf3..93f716d3 100644 --- a/app/assets/javascripts/locmare/booster.js.coffee +++ b/app/assets/javascripts/locmare/booster.js.coffee @@ -17,7 +17,7 @@ class Locmare.Booster template_manifest: () -> Manifest.manifest().system_resources.templates[@manifest.template_name] - model_name: () -> + item_name: () -> @template_path_name() + '_' + @manifest.item_name_for_extend_model is_enable: () -> diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee index 3109c017..43031f86 100644 --- a/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee @@ -11,7 +11,7 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColum } }) a = new Tag.A({ - attr: {href: @path_name()}, + attr: {href: @url()}, content: icon.render().el }) this.$el.html(a.render().el) @@ -20,11 +20,16 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColum }) this - path_name: () -> - '/' + @manifest().item_class.path_name() + '/' + @item.get('id').toString() + '.prof' - - item_template_file_name: () -> - 'default' + url: () -> + controller = Manifest.manifest().controllers[@item.table_name()] + action = controller.actions['show'] + params = { + controller: controller, + action: action, + id: @item.get('id'), + format: 'prof' + } + '/' + action.url(params) icon_file_name: () -> '/images/prof.gif' diff --git a/app/assets/javascripts/locmare/form.js.coffee b/app/assets/javascripts/locmare/form.js.coffee index 27ccbb06..bd2c9e59 100644 --- a/app/assets/javascripts/locmare/form.js.coffee +++ b/app/assets/javascripts/locmare/form.js.coffee @@ -80,7 +80,7 @@ class Locmare.Form extends Locmare.FormBase else null if boost_name and extend_model # field is extend setting AND template has a extend model - extend_form_name = _this.item.boosters[boost_name].model_name() + extend_form_name = _this.item.boosters[boost_name].item_name() extend_item = _this.item.boosters[boost_name].extend_item() _this.fields[field_name] = new Locmare.ExtendForm({ parent: _this, diff --git a/app/assets/javascripts/locmare/form/extend_field.js.coffee b/app/assets/javascripts/locmare/form/extend_field.js.coffee index 99f1507d..492685dd 100644 --- a/app/assets/javascripts/locmare/form/extend_field.js.coffee +++ b/app/assets/javascripts/locmare/form/extend_field.js.coffee @@ -13,7 +13,7 @@ class Locmare.FormModule.ExtendField extends Backbone.View _.each @field_manifest.helpers, (helper_manifest, helper_name) -> _this.helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(_this, helper_manifest) @rb = @row_break() - @options = {'data-model': @field_manifest.model_name} + @options = {'data-model': @field_manifest.item_name()} render: () -> this.$el.html('') diff --git a/app/assets/javascripts/locmare/form/field/label/label.js.coffee b/app/assets/javascripts/locmare/form/field/label/label.js.coffee index 06d2d1c7..e5d9a391 100644 --- a/app/assets/javascripts/locmare/form/field/label/label.js.coffee +++ b/app/assets/javascripts/locmare/form/field/label/label.js.coffee @@ -19,7 +19,7 @@ class Locmare.FormModule.FieldModule.LabelModule.Base extends Backbone.View @form().item item_name: () -> - @label_manifest.model_name() + @label_manifest.item_name() column_name: () -> @label_manifest.column_name() diff --git a/app/assets/javascripts/locmare/form/field/tag/base.js.coffee b/app/assets/javascripts/locmare/form/field/tag/base.js.coffee index b04e2caf..9f2e4136 100644 --- a/app/assets/javascripts/locmare/form/field/tag/base.js.coffee +++ b/app/assets/javascripts/locmare/form/field/tag/base.js.coffee @@ -32,9 +32,3 @@ class Locmare.FormModule.FieldModule.TagModule.Base extends Backbone.View item: () -> @form().item - model_name: () -> - @tag_manifest.model_name() - - column_name: () -> - @tag_manifest.column_name() - diff --git a/app/assets/javascripts/locmare/form/field/tag/select.js.coffee b/app/assets/javascripts/locmare/form/field/tag/select.js.coffee index 9983e7e6..0a1eec30 100644 --- a/app/assets/javascripts/locmare/form/field/tag/select.js.coffee +++ b/app/assets/javascripts/locmare/form/field/tag/select.js.coffee @@ -20,7 +20,7 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod this model_manifest: () -> - Manifest.manifest().models[@field.field_manifest.model_name()] + Manifest.manifest().models[@field.field_manifest.item_name()] model_attribute_manifest: () -> @model_manifest().attributes[@field.field_manifest.column_name()] @@ -28,7 +28,7 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod select_item_name: () -> @model_attribute_manifest().source.select_item_name - source_by_model: () -> + source_by_filter: () -> switch @model_attribute_manifest().source.type when 'model', 'filter' true @@ -41,17 +41,19 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod @value() == member[1] select_values: (cb) -> - if @source_by_model() - resource_model_name = @model_attribute_manifest().source.resource_model_name - resource_list_name = @model_attribute_manifest().source.resource_list_name - caption_name = @model_attribute_manifest().source.caption_name + if @source_by_filter() + resource_item_name = @model_attribute_manifest().source.resource_item_name + resource_action_name = @model_attribute_manifest().source.resource_action_name filter_column_name = @model_attribute_manifest().source.filter_column_name + filter_id = @form().item.get(filter_column_name) + resource_controller_name = Manifest.manifest().models[resource_item_name].classify().table_name() + caption_name = @model_attribute_manifest().source.caption_name params = if filter_column_name - {id: @form().item.get(filter_column_name)} + {id: filter_id} else {} - list = Locmare.ListGroup.list(resource_model_name, resource_list_name) - list.open(@form().operators, params, list.action(), {}, (page_status) -> + list = Locmare.ListGroup.list(resource_model_name, resource_list_name, @form().operators, {}) + list.open((page_status) -> members = _.map list.models, (member) -> [member.get(caption_name), member.get('id')] cb(members) diff --git a/app/assets/javascripts/locmare/list_group.js.coffee b/app/assets/javascripts/locmare/list_group.js.coffee index ace81d7c..c81199a1 100644 --- a/app/assets/javascripts/locmare/list_group.js.coffee +++ b/app/assets/javascripts/locmare/list_group.js.coffee @@ -10,10 +10,18 @@ class Locmare.ListGroup play: Locmare.ListGroupModule.PlayList } - @list: (item_name, list_name) -> - list_group_manifest = LocalManifest.manifest().list_groups[item_name] - list_manifest = list_group_manifest.lists[list_name] - c = Locmare.ListGroup.types()[list_manifest.type] - new c({item_name: item_name, list_name: list_name}) + @list: (controller_name, action_name, operators, options = {}) -> + controller_manifest = Manifest.manifest().controllers[controller_name] + action_manifest = controller_manifest.actions[action_name] + if action_manifest.alias + options['order'] ||= action_manifest.order + options['direction'] ||= action_manifest.direction + alias_action = action_manifest.alias_action + Locmare.ListGroup.list(alias_action.path_name(), alias_action.name, operators, options) + else + list_group_manifest = LocalManifest.manifest().list_groups[controller_name] + list_manifest = list_group_manifest.lists[action_name] + c = Locmare.ListGroup.types()[list_manifest.type] + new c({list_group_name: controller_name, list_name: action_name, operators: operators, options: options}) class Locmare.ListGroupModule diff --git a/app/assets/javascripts/locmare/list_group/list/base.js.coffee b/app/assets/javascripts/locmare/list_group/list/base.js.coffee index 4fc3d30e..b2683ed6 100644 --- a/app/assets/javascripts/locmare/list_group/list/base.js.coffee +++ b/app/assets/javascripts/locmare/list_group/list/base.js.coffee @@ -1,12 +1,20 @@ class Locmare.ListGroupModule.Base extends Backbone.Collection initialize: (options) -> - @item_name = options.item_name + @list_group_name = options.list_group_name @list_name = options.list_name - @list_group_manifest = LocalManifest.manifest().list_groups[@item_name] + @operators = options.operators + @params = options.options + + @list_group_manifest = LocalManifest.manifest().list_groups[@list_group_name] @list_manifest = @list_group_manifest.lists[@list_name] + + @controller_name = @list_group_name + @action_name = @list_name + @controller_manifest = Manifest.manifest().controllers[@controller_name] + @action_manifest = @controller_manifest.actions[@action_name] + @item_name = @action_manifest.item_name @model_manifest = Manifest.manifest().models[@item_name] - @model_list_manifest = @model_manifest.list @model_class = Manifest.item_name_to_model @item_name @table_name = @model_class.table_name() @@ -27,20 +35,22 @@ class Locmare.ListGroupModule.Base extends Backbone.Collection max_page_size: () -> @model_list_manifest.max_page_size - count: (operators, params, action) -> - new Pettanr.CounterModel({}, {url: '/' + action.counter_url(params)}) + items: () -> + _this = this + _.map @models, (model) -> + new _this.model_class(model.attributes) + + count: () -> + new Pettanr.CounterModel({}, {url: '/' + @action_manifest.counter_url(@params)}) - open: (operators, params, action, options, cb) -> - page = @page_number(params['page']) - page_size = @page_size(params['page_size']) - #offset = (page - 1) * page_size - #items = @items(operators, params, offset, page_size, action) - @url = '/' + action.url(params) - @model = Manifest.item_name_to_model action.item_name + open: (cb) -> + page = @params['page'] + page_size = @params['page_size'] + @url = '/' + @action_manifest.url(@params) _this = this - counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + action.counter_url(params)}) + counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + @action_manifest.counter_url(@params)}) counter.fetch({cache: true}).done -> - page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count(), params) + page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count(), _this.params) _this.fetch({cache: true}).done -> #_this.boost(items) cb(page_status) diff --git a/app/assets/javascripts/locmare/profiler/association/belongs_to.js.coffee b/app/assets/javascripts/locmare/profiler/association/belongs_to.js.coffee index c9f53ebf..d10b9832 100644 --- a/app/assets/javascripts/locmare/profiler/association/belongs_to.js.coffee +++ b/app/assets/javascripts/locmare/profiler/association/belongs_to.js.coffee @@ -34,7 +34,7 @@ class Locmare.ProfilerModule.AssociationModule.BelongsTo extends Backbone.View Manifest.manifest().models[@profiler().item_name] model_belongs_to_manifest: () -> - @model_manifest().associations.belongs_to[@belongs_to_manifest.model_name] + @model_manifest().associations.belongs_to[@belongs_to_manifest.item_name] profiler: () -> @association.profiler diff --git a/app/assets/javascripts/locmare/profiler/association/has_many.js.coffee b/app/assets/javascripts/locmare/profiler/association/has_many.js.coffee index c0185a4d..7e6d8471 100644 --- a/app/assets/javascripts/locmare/profiler/association/has_many.js.coffee +++ b/app/assets/javascripts/locmare/profiler/association/has_many.js.coffee @@ -5,15 +5,17 @@ class Locmare.ProfilerModule.AssociationModule.HasMany extends Backbone.View @association = options.association @has_many_manifest = options.has_many_manifest @filer = null - controller = Manifest.manifest().controllers[@has_many_manifest.table_name] - action = controller.actions[@has_many_manifest.list_name] - @list = Locmare.ListGroup.list(@has_many_manifest.item_name, @has_many_manifest.list_name) - params = {id: @item().get('id'), page: 1, page_size: 3} + controller = Manifest.manifest().controllers[@has_many_manifest.controller_name] + action = controller.actions[@has_many_manifest.action_name] + @list = Locmare.ListGroup.list( + action.path_name(), action.name, + @profiler().operators, {id: @item().get('id'), page: 1, page_size: 3} + ) _this = this - @list.open(@profiler().operators, params, action, {}, (page_status) -> + @list.open((page_status) -> _this.filer = new Locmare.Filer({ item_name: _this.has_many_model().item_name(), - items: _this.list.models, + items: _this.list.items(), pager: _this.pager, operators: _this.profiler().operators }) diff --git a/app/assets/javascripts/locmare/profiler/association/has_one.js.coffee b/app/assets/javascripts/locmare/profiler/association/has_one.js.coffee index 8ddd7fb3..7ea42b4c 100644 --- a/app/assets/javascripts/locmare/profiler/association/has_one.js.coffee +++ b/app/assets/javascripts/locmare/profiler/association/has_one.js.coffee @@ -5,15 +5,17 @@ class Locmare.ProfilerModule.AssociationModule.HasOne extends Backbone.View @association = options.association @has_one_manifest = options.has_one_manifest @filer = null - controller = Manifest.manifest().controllers[@has_one_manifest.table_name] - action = controller.actions[@has_one_manifest.list_name] - @list = Locmare.ListGroup.list(@has_one_manifest.item_name, @has_one_manifest.list_name) - params = {id: @item().get('id')} + controller = Manifest.manifest().controllers[@has_one_manifest.controller_name] + action = controller.actions[@has_one_manifest.action_name] + @list = Locmare.ListGroup.list( + action.path_name(), action.name, + @profiler().operators, {id: @item().get('id')} + ) _this = this - @list.open(@profiler().operators, params, action, {}, (page_status) -> + @list.open((page_status) -> _this.filer = new Locmare.Filer({ item_name: _this.has_one_model().item_name(), - items: _this.list.models, + items: _this.list.items(), pager: _this.pager, operators: _this.profiler().operators }) diff --git a/app/assets/javascripts/locmare/profiler/column/base.js.coffee b/app/assets/javascripts/locmare/profiler/column/base.js.coffee index f4083ce1..9b97ffa0 100644 --- a/app/assets/javascripts/locmare/profiler/column/base.js.coffee +++ b/app/assets/javascripts/locmare/profiler/column/base.js.coffee @@ -113,7 +113,7 @@ class Locmare.ProfilerModule.ColumnModule.ExtendValue extends Backbone.View _this.columns[column_name] extend_settings: () -> - @template_model_profiler().extend_settings[@booster().model_name()] + @template_model_profiler().extend_settings[@booster().item_name()] template_model_profiler: () -> LocalManifest.manifest().profilers[@template_model().item_name()] diff --git a/app/assets/javascripts/manifest/controller.js.coffee b/app/assets/javascripts/manifest/controller.js.coffee index 3ed91a1e..5177e9fc 100644 --- a/app/assets/javascripts/manifest/controller.js.coffee +++ b/app/assets/javascripts/manifest/controller.js.coffee @@ -2,12 +2,10 @@ class Manifest.Controller extends ManifestBase.Base set_default: () -> super() - @json @json.actions ||= {} init: () -> super() - @item_name = @json.item_name @actions = ManifestBase.load_type_name_args this, @json, 'actions', Manifest.ControllerModule.ActionFactory constructor: (manifest, name, json, module_name) -> diff --git a/app/assets/javascripts/manifest/controller/action/base.js.coffee b/app/assets/javascripts/manifest/controller/action/base.js.coffee index 60096dda..6e4df9ad 100644 --- a/app/assets/javascripts/manifest/controller/action/base.js.coffee +++ b/app/assets/javascripts/manifest/controller/action/base.js.coffee @@ -2,6 +2,7 @@ class Manifest.ControllerModule.ActionModule.Base extends ManifestBase.TypeNameA set_default: () -> super() + @args.item_name ||= Manifest.manifest().singularize(@parent.name) @args.param_id ||= 'prefix' init: () -> @@ -9,6 +10,10 @@ class Manifest.ControllerModule.ActionModule.Base extends ManifestBase.TypeNameA @item_name = @args.item_name @param_id = @args.param_id + path_name: () -> + @parent.name + #Manifest.manifest().pluralize(@item_name) + encode_query: (params) -> q = [] q.push('page=' + Pettanr.to_s(params['page'])) if params['page'] @@ -19,7 +24,8 @@ class Manifest.ControllerModule.ActionModule.Base extends ManifestBase.TypeNameA '' encode_url: (action_name, params) -> - c = Manifest.manifest().models[@item_name].table_name + controller_name = @path_name() + c = controller_name a = if action_name == 'index' or action_name == 'show' or action_name == 'destroy' '' else diff --git a/app/assets/javascripts/manifest/controller/action/count.js.coffee b/app/assets/javascripts/manifest/controller/action/count.js.coffee index 8fd22155..6f4f27e1 100644 --- a/app/assets/javascripts/manifest/controller/action/count.js.coffee +++ b/app/assets/javascripts/manifest/controller/action/count.js.coffee @@ -2,9 +2,9 @@ class Manifest.ControllerModule.ActionModule.ActionCount extends Manifest.Contro set_default: () -> super() - @args.list_name ||= @name.replace(/^count_/, '') + @args.action_name ||= @name.replace(/^count_/, '') init: () -> super() - @list_name = @args.list_name + @action_name = @args.action_name diff --git a/app/assets/javascripts/manifest/controller/action/list.js.coffee b/app/assets/javascripts/manifest/controller/action/list.js.coffee index 55226df7..4368d1b2 100644 --- a/app/assets/javascripts/manifest/controller/action/list.js.coffee +++ b/app/assets/javascripts/manifest/controller/action/list.js.coffee @@ -2,11 +2,17 @@ class Manifest.ControllerModule.ActionModule.ActionList extends Manifest.Control set_default: () -> super() - @args.list_name ||= @name + @args.direction ||= -1 + @args.default_page_size ||= 25 + @args.max_page_size ||= 100 init: () -> super() - @list_name = @args.list_name + @alias = @args.alias + @order = @args.order || 'updated_at' + @direction = @args.direction + @default_page_size = @args.default_page_size + @max_page_size = @args.max_page_size @counter_name = if @args.counter_name @args.counter_name else @@ -15,6 +21,11 @@ class Manifest.ControllerModule.ActionModule.ActionList extends Manifest.Control else 'count_' + @name + alias_action: () -> + s = @alias.split('.') + c = Manifest.manifest().controllers[s[0]] + c.actions[s[1]] + counter_url: (params) -> @encode_url(@counter_name, params) diff --git a/app/assets/javascripts/manifest/item/base.js.coffee b/app/assets/javascripts/manifest/item/base.js.coffee index 27b70483..ea19f715 100644 --- a/app/assets/javascripts/manifest/item/base.js.coffee +++ b/app/assets/javascripts/manifest/item/base.js.coffee @@ -6,11 +6,11 @@ class Manifest.ItemModule.BasePeta extends ManifestBase.TypeNameArgs init: () -> super() - @parent_model_name = null # init at leaf, element + @parent_item_name = null # init at leaf, element @boost = ManifestBase.load_name_values(this, @args, 'boost', Manifest.ItemModule.Boost) is_element: () -> - @parent_model_name != null + @parent_item_name != null find_boost_name: (column_name) -> r = null diff --git a/app/assets/javascripts/manifest/item/element.js.coffee b/app/assets/javascripts/manifest/item/element.js.coffee index 0288b9be..4f28ba24 100644 --- a/app/assets/javascripts/manifest/item/element.js.coffee +++ b/app/assets/javascripts/manifest/item/element.js.coffee @@ -2,9 +2,9 @@ class Manifest.ItemModule.ElementPeta extends Manifest.ItemModule.BasePeta set_default: () -> super() - ManifestBase.alert_undefined_message('parent_model_name', @module_message()) if not @args['parent_model_name'] + ManifestBase.alert_undefined_message('parent_item_name', @module_message()) if not @args['parent_item_name'] init: () -> super() - @parent_model_name = @args['parent_model_name'] + @parent_item_name = @args['parent_item_name'] diff --git a/app/assets/javascripts/manifest/item/leaf.js.coffee b/app/assets/javascripts/manifest/item/leaf.js.coffee index 360b7bb6..1cf73ca1 100644 --- a/app/assets/javascripts/manifest/item/leaf.js.coffee +++ b/app/assets/javascripts/manifest/item/leaf.js.coffee @@ -2,10 +2,10 @@ class Manifest.ItemModule.LeafPeta extends Manifest.ItemModule.BasePeta set_default: () -> super() - ManifestBase.alert_undefined_message('parent_model_name', @module_message()) if not @args['parent_model_name'] + ManifestBase.alert_undefined_message('parent_item_name', @module_message()) if not @args['parent_item_name'] init: () -> super() - @parent_model_name = @args['parent_model_name'] - @destination_model_name = @args['destination_model_name'] + @parent_item_name = @args['parent_item_name'] + @destination_item_name = @args['destination_item_name'] diff --git a/app/assets/javascripts/manifest/manifest.js.coffee b/app/assets/javascripts/manifest/manifest.js.coffee index c442bc69..eae9e96d 100644 --- a/app/assets/javascripts/manifest/manifest.js.coffee +++ b/app/assets/javascripts/manifest/manifest.js.coffee @@ -6,24 +6,26 @@ class Manifest init: () -> # managers can't initialize before load application.rb + @inflectors = @global_json.inflectors + @item_names = {} + @table_names = {} + _this = this + _.each @inflectors, (table_name, item_name) -> + _this.item_names[item_name] = table_name # monkey copy + _this.table_names[table_name] = item_name @items = ManifestBase.load_type_name_args(this, @global_json, 'items', Manifest.ItemFactory) @controllers = Manifest.Controller.load(this, @global_json, 'controllers', Manifest.Controller) @models = Manifest.Model.load(this, @global_json, 'models', Manifest.Model) - @inflectors = {} - _this = this - _.each @models, (model_manifest, item_name) -> - if model_manifest.table_name - _this.inflectors[model_manifest.table_name] = item_name true - @item_name_to_model: (item_name) -> - Pettanr[Pettanr.camelize(item_name)] + pluralize: (item_name) -> + @item_names[item_name] - @pluralize: (name) -> - name.pluralize + singularize: (table_name) -> + @table_names[table_name] - @singularize: (name) -> - @inflectors[name] + @item_name_to_model: (item_name) -> + Pettanr[Pettanr.camelize(item_name)] @manifest: () -> @mani diff --git a/app/assets/javascripts/manifest/model.js.coffee b/app/assets/javascripts/manifest/model.js.coffee index f346b957..98c8ee1b 100644 --- a/app/assets/javascripts/manifest/model.js.coffee +++ b/app/assets/javascripts/manifest/model.js.coffee @@ -4,7 +4,7 @@ class Manifest.Model extends ManifestBase.Base super @json.attributes ||= {} @json.associations ||= {} - @json.list ||= {} + @json.table_name ||= Manifest.manifest().pluralize(@name) @json.attributes.id = { 'type': 'number', 'primary_key': 1, @@ -24,17 +24,13 @@ class Manifest.Model extends ManifestBase.Base @table_name = @json.table_name @attributes = ManifestBase.load_name_values this, @json, 'attributes', Manifest.ModelModule.Attribute @associations = ManifestBase.load_value this, @json, 'associations', Manifest.ModelModule.Association - @list = ManifestBase.load_value this, @json, 'list', Manifest.ModelModule.List - model_name: () -> + item_name: () -> @name classify: () -> Manifest.item_name_to_model @name - table_name: () -> - @table_name - valid_encode_columns: () -> r = [] _.each @attributes, (attribute, attribute_name) -> @@ -56,7 +52,7 @@ class Manifest.Model extends ManifestBase.Base _this = this _.each Manifest.manifest().items, (peta_manifest, peta_name) -> return if not peta_manifest.is_element() - return if peta_manifest.parent_model_name != _this.name + return if peta_manifest.parent_item_name != _this.name r.push Manifest.manifest().models[peta_name] r diff --git a/app/assets/javascripts/manifest/model/association.js.coffee b/app/assets/javascripts/manifest/model/association.js.coffee index 688b259b..6c862b1a 100644 --- a/app/assets/javascripts/manifest/model/association.js.coffee +++ b/app/assets/javascripts/manifest/model/association.js.coffee @@ -12,17 +12,18 @@ class Manifest.ModelModule.Association extends ManifestBase.Values @has_many = ManifestBase.load_name_values this, @values, 'has_many', Manifest.ModelModule.AssociationModule.HasMany @has_one = ManifestBase.load_name_values this, @values, 'has_one', Manifest.ModelModule.AssociationModule.HasOne - model_name: () -> - @parent.name + item_name: () -> + @parent.item_name() - each_parent_model: () -> - _.each _belongs_to, (belongs_to_manifest, name) -> - next if not _parent.classify.is_element() - if _parent.classify.my_peta.type == 'element' + parent_models: () -> + _this = this + _.map _belongs_to, (belongs_to_manifest, name) -> + pm = _this.parent.classify() + next if not pm.is_element() + if pm.my_peta.type == 'element' next if not belongs_to_manifest.model.my_peta.type == 'root' - if _parent.classify.my_peta.type == 'leaf' + if pm.my_peta.type == 'leaf' next if not belongs_to_manifest.model.my_peta.type == 'binder' - #yield belongs_to_manifest.model child_element_name: (child_model) -> if @is_has_one(child_model) diff --git a/app/assets/javascripts/manifest/model/association/belongs_to.js.coffee b/app/assets/javascripts/manifest/model/association/belongs_to.js.coffee index 367ac442..61980503 100644 --- a/app/assets/javascripts/manifest/model/association/belongs_to.js.coffee +++ b/app/assets/javascripts/manifest/model/association/belongs_to.js.coffee @@ -2,16 +2,16 @@ class Manifest.ModelModule.AssociationModule.BelongsTo extends ManifestBase.Name set_default: () -> super() - @values['model_name'] ||= @name + @values['item_name'] ||= @name @values['id_column'] ||= @name + '_id' init: () -> super() - @model_name = @values['model_name'] + @item_name = @values['item_name'] @id_column = @values['id_column'] model: () -> - Manifest.item_name_to_model @model_name + Manifest.item_name_to_model @item_name association_name: () -> @parent.association_name diff --git a/app/assets/javascripts/manifest/model/association/has_many.js.coffee b/app/assets/javascripts/manifest/model/association/has_many.js.coffee index acd065f6..9478ea38 100644 --- a/app/assets/javascripts/manifest/model/association/has_many.js.coffee +++ b/app/assets/javascripts/manifest/model/association/has_many.js.coffee @@ -2,22 +2,20 @@ class Manifest.ModelModule.AssociationModule.HasMany extends ManifestBase.NameVa set_default: () -> super() - @values['foreign_key'] ||= @parent.model_name + '_id' + @values['item_name'] ||= Manifest.manifest().singularize(@name) + @values['foreign_key'] ||= @parent.item_name() + '_id' init: () -> super() - @model_name = @values['model_name'] + @item_name = @values['item_name'] @foreign_key = @values['foreign_key'] @through = @values['through'] is_through: () -> !@through - model_name: () -> - @model_name || Manifest.manifest().singularize(@name) - model: () -> - Manifest.item_name_to_model(@model_name()) + Manifest.item_name_to_model(@item_name()) association_name: () -> @parent.association_name diff --git a/app/assets/javascripts/manifest/model/association/has_one.js.coffee b/app/assets/javascripts/manifest/model/association/has_one.js.coffee index 8c33c796..8dc758f4 100644 --- a/app/assets/javascripts/manifest/model/association/has_one.js.coffee +++ b/app/assets/javascripts/manifest/model/association/has_one.js.coffee @@ -2,17 +2,17 @@ class Manifest.ModelModule.AssociationModule.HasOne extends ManifestBase.NameVal set_default: () -> super() - @values['model_name'] ||= @name - @values['foreign_key'] ||= @parent.model_name + '_id' + @values['item_name'] ||= @name + @values['foreign_key'] ||= @parent.item_name() + '_id' init: () -> super() - @model_name = @values['model_name'] + @item_name = @values['item_name'] @foreign_key = @values['foreign_key'] is_through: () -> !@through model: () -> - Manifest.item_name_to_model @model_name + Manifest.item_name_to_model @item_name diff --git a/app/assets/javascripts/manifest/model/attribute.js.coffee b/app/assets/javascripts/manifest/model/attribute.js.coffee index 7e472c01..c5d5d237 100644 --- a/app/assets/javascripts/manifest/model/attribute.js.coffee +++ b/app/assets/javascripts/manifest/model/attribute.js.coffee @@ -14,7 +14,7 @@ class Manifest.ModelModule.Attribute extends ManifestBase.NameValues if @values['source'] @source = ManifestBase.load_type_args this, @values, 'source', Manifest.ModelModule.AttributeModule.SourceFactory - model_name: () -> - @parent.name + item_name: () -> + @parent.item_name() class Manifest.ModelModule.AttributeModule diff --git a/app/assets/javascripts/manifest/model/attribute/source/base.js.coffee b/app/assets/javascripts/manifest/model/attribute/source/base.js.coffee index ef80ffa5..f063d5e2 100644 --- a/app/assets/javascripts/manifest/model/attribute/source/base.js.coffee +++ b/app/assets/javascripts/manifest/model/attribute/source/base.js.coffee @@ -2,12 +2,10 @@ class Manifest.ModelModule.AttributeModule.SourceModule.Base extends ManifestBas set_default: () -> super() - @args['item_name'] ||= @parent.item_name # not parent.name. follow singularized name init: () -> super() - @item_name = @args['item_name'] - model_name: () -> - @parent.model_name + item_name: () -> + @parent.item_name() diff --git a/app/assets/javascripts/manifest/model/attribute/source/model.js.coffee b/app/assets/javascripts/manifest/model/attribute/source/model.js.coffee index a8076d51..328f58cc 100644 --- a/app/assets/javascripts/manifest/model/attribute/source/model.js.coffee +++ b/app/assets/javascripts/manifest/model/attribute/source/model.js.coffee @@ -2,15 +2,15 @@ class Manifest.ModelModule.AttributeModule.SourceModule.ModelSource extends Mani set_default: () -> super() - @args['resource_model_name'] ||= (@parent.name.replace('_id', '')) - @args['resource_list_name'] ||= 'select_items' - @args['select_item_name'] ||= @model_name + '_' + @parent.name.replace('_id', '') + '_items' + @args['resource_item_name'] ||= (@parent.name.replace('_id', '')) + @args['resource_action_name'] ||= 'select_items' + @args['select_item_name'] ||= @item_name() + '_' + @parent.name.replace('_id', '') + '_items' @args['caption_name'] ||= 'caption' init: () -> super() - @resource_model_name = @args['resource_model_name'] - @resource_list_name = @args['resource_list_name'] + @resource_item_name = @args['resource_item_name'] + @resource_action_name = @args['resource_action_name'] @select_item_name = @args['select_item_name'] @caption_name = @args['caption_name'] diff --git a/app/assets/javascripts/manifest/model/list.js.coffee b/app/assets/javascripts/manifest/model/list.js.coffee deleted file mode 100644 index b68a315d..00000000 --- a/app/assets/javascripts/manifest/model/list.js.coffee +++ /dev/null @@ -1,12 +0,0 @@ -class Manifest.ModelModule.List extends ManifestBase.Values - - set_default: () -> - super() - @values['default_page_size'] ||= 25 - @values['max_page_size'] ||= 100 - - init: () -> - super() - @default_page_size = @values['default_page_size'] - @max_page_size = @values['max_page_size'] - diff --git a/app/assets/javascripts/peta/item.js.coffee b/app/assets/javascripts/peta/item.js.coffee index 2207d6e4..4dd8ee8a 100644 --- a/app/assets/javascripts/peta/item.js.coffee +++ b/app/assets/javascripts/peta/item.js.coffee @@ -25,7 +25,8 @@ class Peta.Item extends Backbone.Model 'Name' @plural: () -> - 'Names' + table_name = Manifest.manifest().pluralize @item_name() + Pettanr.camelize(table_name) @class_name: () -> @singular() diff --git a/app/assets/javascripts/pettanr.js.coffee b/app/assets/javascripts/pettanr.js.coffee index 046f8da1..4a7a0a39 100644 --- a/app/assets/javascripts/pettanr.js.coffee +++ b/app/assets/javascripts/pettanr.js.coffee @@ -123,7 +123,9 @@ class Pettanr @set_model() @my_list_model = Manifest.manifest().models[@my_action.item_name] @my_list_model_class = @my_list_model.classify() - @list = Locmare.ListGroup.list(@my_action.item_name, @my_action.name) + @list = Locmare.ListGroup.list( + @my_action.path_name(), @my_action.name, @operators, @params + ) set_show: () -> @set_model() @@ -132,12 +134,12 @@ class Pettanr filer_list: () -> @set_list() _this = this - @list.open(@operators, @params, @my_action, {}, (page_status) -> + @list.open((page_status) -> pager = new Locmare.FilerModule.DefaultPager({page_status: page_status}) f = new Locmare.Filer({ el: "#pettanr", item_name: _this.my_list_model_class.item_name(), - items: _this.list.models, + items: _this.list.items(), pager: pager, operators: _this.operators }) @@ -147,21 +149,17 @@ class Pettanr set_play: () -> @set_list() @binder_controller = Manifest.manifest().controllers[@params['controller']] - @binder_model = Manifest.manifest().models[@binder_controller.item_name] + @binder_action = @my_controller.actions[params['action']] + @binder_model = Manifest.manifest().models[@binder_action.item_name] @binder_model_class = @binder_model.classify() @item = new @binder_model_class({id: @params['id']}) play_list: () -> _this = this - opt = { - id: @params['id'], - offset: @params['offset'], - count: @params['count'], - page: @params['page'], - page_size: @params['page_size'] - } + @options = @params + @options['my_play'] = @item.is_own?(@operators) @item.fetch({cache: true}).done -> - _this.list.open(_this.operators, opt, _this.my_action, {}, (page_status) -> + _this.list.open((page_status) -> console.log _this.list.models ) false diff --git a/app/assets/javascripts/work/controllers.js.coffee.erb b/app/assets/javascripts/work/controllers.js.coffee.erb index 862fc56f..0e01995b 100644 --- a/app/assets/javascripts/work/controllers.js.coffee.erb +++ b/app/assets/javascripts/work/controllers.js.coffee.erb @@ -721,6 +721,18 @@ param_id: 'suffix', }, }, + by_speech_balloon_template: { + type: 'list', + args: { + param_id: 'suffix', + }, + }, + by_writing_format: { + type: 'list', + args: { + param_id: 'suffix', + }, + }, show: { type: 'show', }, @@ -733,6 +745,15 @@ count_by_author: { type: 'count', }, + count_by_speech_balloon: { + type: 'count', + }, + count_by_speech_balloon_template: { + type: 'count', + }, + count_by_writing_format: { + type: 'count', + }, new: { type: 'new', }, @@ -761,6 +782,18 @@ param_id: 'suffix', }, }, + by_speech_balloon_template: { + type: 'list', + args: { + param_id: 'suffix', + }, + }, + by_system_picture: { + type: 'list', + args: { + param_id: 'suffix', + }, + }, show: { type: 'show', }, @@ -773,6 +806,15 @@ count_by_author: { type: 'count', }, + count_by_speech_balloon: { + type: 'count', + }, + count_by_speech_balloon_template: { + type: 'count', + }, + count_by_system_picture: { + type: 'count', + }, new: { type: 'new', }, @@ -940,6 +982,12 @@ param_id: 'none', }, }, + by_original_picture: { + type: 'list', + args: { + param_id: 'suffix', + }, + }, by_license_group: { type: 'list', args: { @@ -967,6 +1015,9 @@ action_name: 'index', }, }, + count_by_original_picture: { + type: 'count', + }, count_by_license_group: { type: 'count', }, @@ -1078,6 +1129,12 @@ param_id: 'none', }, }, + by_resource_picture: { + type: 'list', + args: { + param_id: 'suffix', + }, + }, show: { type: 'show', }, @@ -1087,6 +1144,9 @@ action_name: 'index', }, }, + count_by_resource_picture: { + type: 'count', + }, new: { type: 'new', }, diff --git a/app/assets/javascripts/work/list_groups.js.coffee.erb b/app/assets/javascripts/work/list_groups.js.coffee.erb index b72e8659..1712ae6f 100644 --- a/app/assets/javascripts/work/list_groups.js.coffee.erb +++ b/app/assets/javascripts/work/list_groups.js.coffee.erb @@ -251,9 +251,6 @@ index: { type: 'public', }, - by_panel: { - type: 'filter', - }, by_speech_balloon: { type: 'filter', }, @@ -383,9 +380,6 @@ by_system_picture: { type: 'filter', }, - select_items: { - type: 'system_resource', - }, }, }, writing_formats: { @@ -393,9 +387,6 @@ index: { type: 'public', }, - select_items: { - type: 'system_resource', - }, by_system_picture: { type: 'filter', }, @@ -409,9 +400,6 @@ by_resource_picture: { type: 'filter', }, - select_items: { - type: 'system_resource', - }, }, }, licenses: { diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index a169dc11..8fe618b9 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -114,7 +114,7 @@ class ApplicationController < ActionController::Base set_model @my_list_model = Manifest.manifest.models[@my_action.item_name] @my_list_model_class = @my_list_model.classify - @list = Locmare::ListGroup.list @my_controller.name, @my_action.name, @operators, params + @list = Locmare::ListGroup.list @my_controller.name, @my_action.action_name, @operators, params end def filer_list @@ -393,7 +393,7 @@ class ApplicationController < ActionController::Base def list_count set_list - j = {:count => @list.count(@operators)} + j = {:count => @list.count()} respond_to do |format| format.json { render json: j.to_json } end diff --git a/app/controllers/balloons_controller.rb b/app/controllers/balloons_controller.rb index c633cc77..6a5637ec 100644 --- a/app/controllers/balloons_controller.rb +++ b/app/controllers/balloons_controller.rb @@ -4,7 +4,9 @@ class BalloonsController < ApplicationController before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] else before_filter :authenticate_reader, :only => [ - :index, :show, :by_author, :by_speech_balloon, :count, :count_by_author + :index, :show, :count, + :by_author, :by_speech_balloon, :by_speech_balloon_template, :by_system_picture, + :count_by_author, :count_by_speech_balloon, :count_by_speech_balloon_template, :count_by_system_picture ] before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy] before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] @@ -22,6 +24,14 @@ class BalloonsController < ApplicationController filer_list end + def by_speech_balloon_template + filer_list + end + + def by_system_picture + filer_list + end + def show_html_format format format.html { @item.boosts 'post' @@ -46,6 +56,18 @@ class BalloonsController < ApplicationController list_count end + def count_by_speech_balloon + list_count + end + + def count_by_speech_balloon_template + list_count + end + + def count_by_system_picture + list_count + end + def new form_new end diff --git a/app/controllers/folders_controller.rb b/app/controllers/folders_controller.rb index dbe8bf57..02e2ab23 100644 --- a/app/controllers/folders_controller.rb +++ b/app/controllers/folders_controller.rb @@ -42,7 +42,7 @@ class FoldersController < ApplicationController def children_json_format format format.json { @items = @item.children - render json: @items.to_json(self.class.model.list_json_opt) + render json: @items.to_json(Folder.list_json_opt) } end diff --git a/app/controllers/license_groups_controller.rb b/app/controllers/license_groups_controller.rb index b0f64dd9..7c852cf2 100644 --- a/app/controllers/license_groups_controller.rb +++ b/app/controllers/license_groups_controller.rb @@ -1,10 +1,21 @@ class LicenseGroupsController < ApplicationController + if Manifest.manifest.magic_numbers['run_mode'] == 0 + else + before_filter :authenticate_reader, :only => [ + :by_resource_picture, + :count_by_resource_picture, + ] + end before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy] def index filer_list end + def by_resource_picture + filer_list + end + def show_html_format format format.html { @license_group = @item @@ -24,6 +35,10 @@ class LicenseGroupsController < ApplicationController list_count end + def count_by_resource_picture + list_count + end + def new form_new end diff --git a/app/controllers/resource_pictures_controller.rb b/app/controllers/resource_pictures_controller.rb index bae6ac71..e2ee9dd9 100644 --- a/app/controllers/resource_pictures_controller.rb +++ b/app/controllers/resource_pictures_controller.rb @@ -4,7 +4,9 @@ class ResourcePicturesController < ApplicationController before_filter :authenticate_artist, :only => [:new, :create, :update, :destroy] else before_filter :authenticate_resource_reader, :only => [ - :index, :show, :credit, :by_license_group, :by_license, :by_artist, :count, :count_by_license_group, :count_by_license, :count_by_artist + :index, :show, :credit, :count, + :by_original_picture, :by_license_group, :by_license, :by_artist, + :count_by_original_picture, :count_by_license_group, :count_by_license, :count_by_artist ] before_filter :authenticate_user, :only => [:new, :create, :update, :destroy] before_filter :authenticate_artist, :only => [:new, :create, :update, :destroy] @@ -14,6 +16,10 @@ class ResourcePicturesController < ApplicationController filer_list end + def by_original_picture + filer_list + end + def by_license_group filer_list end @@ -57,6 +63,10 @@ class ResourcePicturesController < ApplicationController list_count end + def count_by_original_picture + list_count + end + def count_by_license_group list_count end diff --git a/app/controllers/speeches_controller.rb b/app/controllers/speeches_controller.rb index a0b74a0e..601444df 100644 --- a/app/controllers/speeches_controller.rb +++ b/app/controllers/speeches_controller.rb @@ -4,7 +4,9 @@ class SpeechesController < ApplicationController before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] else before_filter :authenticate_reader, :only => [ - :index, :show, :by_author, :by_speech_balloon, :count, :count_by_author + :index, :show, :count, + :by_author, :by_speech_balloon, :by_speech_balloon_template, :by_writing_format, + :count_by_author, :count_by_speech_balloon, :count_by_speech_balloon_template, :count_by_writing_format ] before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy] before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] @@ -23,6 +25,14 @@ class SpeechesController < ApplicationController filer_list end + def by_speech_balloon_template + filer_list + end + + def by_writing_format + filer_list + end + def show_html_format format format.html { @item.boosts 'post' @@ -47,6 +57,18 @@ class SpeechesController < ApplicationController list_count end + def count_by_speech_balloon + list_count + end + + def count_by_speech_balloon_template + list_count + end + + def count_by_writing_format + list_count + end + def new form_new end diff --git a/config/locales/pettanr.ja.yml b/config/locales/pettanr.ja.yml index f402cab1..aa3d1860 100644 --- a/config/locales/pettanr.ja.yml +++ b/config/locales/pettanr.ja.yml @@ -251,6 +251,7 @@ ja: md5: MD5 published_at: 公開 stopped_at: 停止 + uploaded_at: 投稿 created_at: 作成 updated_at: 更新 picture: diff --git a/config/routes.rb b/config/routes.rb index 159255fe..c15a6927 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -290,7 +290,12 @@ Pettanr::Application.routes.draw do member do get :by_author get :by_speech_balloon + get :by_speech_balloon_template + get :by_system_picture get :count_by_author + get :count_by_speech_balloon + get :count_by_speech_balloon_template + get :count_by_system_picture get :edit put :update end @@ -304,7 +309,13 @@ Pettanr::Application.routes.draw do member do get :by_author get :by_speech_balloon + get :by_author + get :by_speech_balloon_template + get :by_writing_format get :count_by_author + get :count_by_speech_balloon + get :count_by_speech_balloon_template + get :count_by_writing_format get :edit put :update end @@ -388,9 +399,11 @@ Pettanr::Application.routes.draw do get :count end member do + get :by_original_picture get :by_license_group get :by_license get :by_artist + get :count_by_original_picture get :count_by_license_group get :count_by_license get :count_by_artist @@ -438,10 +451,8 @@ Pettanr::Application.routes.draw do post :create end member do - get :resource_pictures - get :resource_pictures_count - get :licenses - get :licenses_count + get :by_resource_picture + get :count_by_resource_picture put :update delete :destroy end diff --git a/lib/locmare/form/field/tag/select.rb b/lib/locmare/form/field/tag/select.rb index dfc0b1cc..4e38f37c 100644 --- a/lib/locmare/form/field/tag/select.rb +++ b/lib/locmare/form/field/tag/select.rb @@ -25,7 +25,7 @@ module Locmare resource_action_name = self.model_attribute_manifest.source.resource_action_name filter_column_name = self.model_attribute_manifest.source.filter_column_name filter_id = self.form.item.attributes[filter_column_name] - resource_controller_name = ::Manifest.manifest.models[resource_item_name].classify.tables + resource_controller_name = ::Manifest.manifest.models[resource_item_name].classify.table_name list = Locmare::ListGroup.list( resource_controller_name, resource_action_name, diff --git a/lib/locmare/list_group/list/base.rb b/lib/locmare/list_group/list/base.rb index 222ed9b2..7c900a0b 100644 --- a/lib/locmare/list_group/list/base.rb +++ b/lib/locmare/list_group/list/base.rb @@ -81,7 +81,7 @@ module Locmare def fixed_page_size page_size = self.opt_page_size || self.default_page_size - page_size = self.max_page_size if self.limit? and page_size > self.max_page_size + page_size = self.max_page_size if self.limit? and (page_size > self.max_page_size) page_size end @@ -98,15 +98,18 @@ module Locmare end def opt_page - @options['page'] || @options[:page] + n = @options['page'] || @options[:page] + n ? n.to_i : nil end def opt_page_size - @options['page_size'] || @options[:page_size] + n = @options['page_size'] || @options[:page_size] + n ? n.to_i : nil end def opt_count - @options['count'] || @options[:count] + n = @options['count'] || @options[:count] + n ? n.to_i : nil end def default_page_size diff --git a/lib/locmare/list_group/list/foreign_filter.rb b/lib/locmare/list_group/list/foreign_filter.rb index 5fe666ad..c86a453c 100644 --- a/lib/locmare/list_group/list/foreign_filter.rb +++ b/lib/locmare/list_group/list/foreign_filter.rb @@ -3,8 +3,8 @@ module Locmare class ForeignFilterList < FilterList def init - @filter_table_name = ::Manifest.manifest.models[@filter_item_name].classify.table_name super + @filter_table_name = ::Manifest.manifest.models[@filter_item_name].classify.table_name end def where_condition diff --git a/lib/locmare/profiler/association/has_one.rb b/lib/locmare/profiler/association/has_one.rb index 5fb4b994..954554cf 100644 --- a/lib/locmare/profiler/association/has_one.rb +++ b/lib/locmare/profiler/association/has_one.rb @@ -20,6 +20,7 @@ module Locmare list = ::Locmare::ListGroup.list( @has_one_manifest.controller_name, @has_one_manifest.action_name, + self.profiler.operators, {:id => self.item.id} ) list_result = list.open(self.profiler.operators) diff --git a/lib/manifest/controller/action/base.rb b/lib/manifest/controller/action/base.rb index 539a2454..e7488e5f 100644 --- a/lib/manifest/controller/action/base.rb +++ b/lib/manifest/controller/action/base.rb @@ -2,7 +2,7 @@ module Manifest module ControllerModule module ActionModule class Base < ManifestBase::TypeNameArgs - attr :param_id, :item_name + attr :param_id, :item_name, :action_name def set_default super @@ -12,6 +12,7 @@ module Manifest def init super + @action_name = @name @item_name = @args['item_name'] @param_id = @args['param_id'] end diff --git a/lib/manifest/controller/action/count.rb b/lib/manifest/controller/action/count.rb index a5968e46..189d69e5 100644 --- a/lib/manifest/controller/action/count.rb +++ b/lib/manifest/controller/action/count.rb @@ -2,7 +2,7 @@ module Manifest module ControllerModule module ActionModule class ActionCount < Base - attr :action_name + attr :alias def set_default super diff --git a/lib/manifest/system_resource.rb b/lib/manifest/system_resource.rb index 3bde0d3c..b7651467 100644 --- a/lib/manifest/system_resource.rb +++ b/lib/manifest/system_resource.rb @@ -44,7 +44,7 @@ module Manifest resource_controller_name, resource_action_name, nil, - {} + {} # set no limit options ) r = list.open nil @select_items[source_manifest.select_item_name] = diff --git a/public/local_manifest.json b/public/local_manifest.json index 0b410e42..e8da658f 100644 --- a/public/local_manifest.json +++ b/public/local_manifest.json @@ -251,9 +251,6 @@ "index": { "type": "public" }, - "by_panel": { - "type": "filter" - }, "by_speech_balloon": { "type": "filter" }, @@ -382,9 +379,6 @@ }, "by_system_picture": { "type": "filter" - }, - "select_items": { - "type": "system_resource" } } }, @@ -393,9 +387,6 @@ "index": { "type": "public" }, - "select_items": { - "type": "system_resource" - }, "by_system_picture": { "type": "filter" } @@ -408,9 +399,6 @@ }, "by_resource_picture": { "type": "filter" - }, - "select_items": { - "type": "system_resource" } } }, diff --git a/public/manifest.json b/public/manifest.json index 5541e1a6..fdb3624a 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -958,6 +958,18 @@ "param_id": "suffix" } }, + "by_speech_balloon_template": { + "type": "list", + "args": { + "param_id": "suffix" + } + }, + "by_writing_format": { + "type": "list", + "args": { + "param_id": "suffix" + } + }, "show": { "type": "show" }, @@ -970,6 +982,15 @@ "count_by_author": { "type": "count" }, + "count_by_speech_balloon": { + "type": "count" + }, + "count_by_speech_balloon_template": { + "type": "count" + }, + "count_by_writing_format": { + "type": "count" + }, "new": { "type": "new" }, @@ -998,6 +1019,18 @@ "param_id": "suffix" } }, + "by_speech_balloon_template": { + "type": "list", + "args": { + "param_id": "suffix" + } + }, + "by_system_picture": { + "type": "list", + "args": { + "param_id": "suffix" + } + }, "show": { "type": "show" }, @@ -1010,6 +1043,15 @@ "count_by_author": { "type": "count" }, + "count_by_speech_balloon": { + "type": "count" + }, + "count_by_speech_balloon_template": { + "type": "count" + }, + "count_by_system_picture": { + "type": "count" + }, "new": { "type": "new" }, @@ -1177,6 +1219,12 @@ "param_id": "none" } }, + "by_original_picture": { + "type": "list", + "args": { + "param_id": "suffix" + } + }, "by_license_group": { "type": "list", "args": { @@ -1204,6 +1252,9 @@ "action_name": "index" } }, + "count_by_original_picture": { + "type": "count" + }, "count_by_license_group": { "type": "count" }, @@ -1315,6 +1366,12 @@ "param_id": "none" } }, + "by_resource_picture": { + "type": "list", + "args": { + "param_id": "suffix" + } + }, "show": { "type": "show" }, @@ -1324,6 +1381,9 @@ "action_name": "index" } }, + "count_by_resource_picture": { + "type": "count" + }, "new": { "type": "new" }, -- 2.11.0