diff --git a/addon/controllers/action-event.coffee b/addon/controllers/action-event.coffee new file mode 100644 index 0000000..f726679 --- /dev/null +++ b/addon/controllers/action-event.coffee @@ -0,0 +1,4 @@ +import Ember from 'ember' + +export default Ember.Controller.extend + users: (-> @store.peekAll('user')).property() diff --git a/addon/controllers/action-event.js b/addon/controllers/action-event.js new file mode 100644 index 0000000..4b5d5cd --- /dev/null +++ b/addon/controllers/action-event.js @@ -0,0 +1,8 @@ +// Generated by CoffeeScript 1.12.5 +import Ember from 'ember'; + +export default Ember.Controller.extend({ + users: (function() { + return this.store.peekAll('user'); + }).property() +}); diff --git a/addon/routes/action-event.coffee b/addon/routes/action-event.coffee new file mode 100644 index 0000000..ba138e2 --- /dev/null +++ b/addon/routes/action-event.coffee @@ -0,0 +1,19 @@ +import Ember from 'ember' +import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array' +export filters = Ember.Object.create + filter_calls: 0 + s: 'event_timestamp desc' + +export default Ember.Route.extend + queryParams: + event_key: {refreshModel: true} + modelName: 'panda/action-event' + setupController: (controller) -> + controller.set 'filters', filters + @_super arguments... + + model: (params) -> + PagedRemoteArray.create + modelName: @modelName + store: @store + filters: filters diff --git a/addon/routes/action-event.js b/addon/routes/action-event.js new file mode 100644 index 0000000..012c09e --- /dev/null +++ b/addon/routes/action-event.js @@ -0,0 +1,29 @@ +// Generated by CoffeeScript 1.12.5 +import Ember from 'ember'; + +import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'; + +export var filters = Ember.Object.create({ + filter_calls: 0, + s: 'event_timestamp desc' +}); + +export default Ember.Route.extend({ + queryParams: { + event_key: { + refreshModel: true + } + }, + modelName: 'panda/action-event', + setupController: function(controller) { + controller.set('filters', filters); + return this._super.apply(this, arguments); + }, + model: function(params) { + return PagedRemoteArray.create({ + modelName: this.modelName, + store: this.store, + filters: filters + }); + } +}); diff --git a/addon/utils/panda-route-setup.coffee b/addon/utils/panda-route-setup.coffee index d3ffdec..20d3dbd 100644 --- a/addon/utils/panda-route-setup.coffee +++ b/addon/utils/panda-route-setup.coffee @@ -42,6 +42,7 @@ pandaRouteSetup = (context) -> @route 'project', path: 'projects/:project_id' #@route 'tracker-subject/tracker-group', path: 'tracker-subjects/:tracker_subject_id/tracker-groups/:tracker_group_id' context.route 'event' + context.route 'action-event' context.route 'meeting-reports' diff --git a/addon/utils/panda-route-setup.js b/addon/utils/panda-route-setup.js index 5de2485..579f95a 100644 --- a/addon/utils/panda-route-setup.js +++ b/addon/utils/panda-route-setup.js @@ -66,6 +66,7 @@ pandaRouteSetup = function(context) { }); }); context.route('event'); + context.route('action-event'); context.route('meeting-reports'); context.route('manual', function() { this.route('project', function() { diff --git a/app/controllers/action-event.js b/app/controllers/action-event.js new file mode 100644 index 0000000..e5deabf --- /dev/null +++ b/app/controllers/action-event.js @@ -0,0 +1 @@ +export { default } from 'ember-panda/controllers/action-event'; diff --git a/app/routes/action-event.js b/app/routes/action-event.js new file mode 100644 index 0000000..511eb64 --- /dev/null +++ b/app/routes/action-event.js @@ -0,0 +1 @@ +export { default } from 'ember-panda/routes/action-event'; diff --git a/app/templates/action-event.emblem b/app/templates/action-event.emblem new file mode 100644 index 0000000..650ad19 --- /dev/null +++ b/app/templates/action-event.emblem @@ -0,0 +1,36 @@ += page-title 'action_list.title' + = pagination-progress content=model class='between-brackets' + i.pointable.refresh.icon{action 'reload' model} + .ui.top-right.pagination.menu= page-numbers content=model showFL=true +table.ui.attached.stiped.sortable.table + thead + tr + = sortable-table-header filters=filters key='client_identifier' model=model + = t 'attributes.action_event.client_identifier' + th= t 'attributes.action_event.identifier' + th= t 'attributes.action_event.event_key' + th= t 'attributes.action_event.event_value' + = sortable-table-header filters=filters key='event_timestamp' model=model defaultDirection='desc' + = t 'attributes.action_event.event_timestamp' + th= t 'models.user' + table-filters content=model filters=filters as |filter| + = filter.input key='client_identifier_cont' + = filter.input key='identifier_eq' + = filter.dropdown-select key='event_key_eq' options=globals.action_event.event_keys + = filter.input key='event_value_eq' + = filter.date-range key='event_timestamp' expandingTime=true weekSelector=true + = filter.dropdown-select key='source_id_eq' options=users labelPath='nickname' + tbody + if model.loading + tr + td colspan=99 + .ui.active.inline.centered.loader + else + each model as |record| + tr + td= record.client_identifier + td= record.identifier + td= record.event_key + td= record.event_value + td= format-date record.event_timestamp format=globals.time_formatting + td= record.source diff --git a/tests/dummy/app/i18n/translations/attributes.coffee b/tests/dummy/app/i18n/translations/attributes.coffee index ba4515b..560aadc 100644 --- a/tests/dummy/app/i18n/translations/attributes.coffee +++ b/tests/dummy/app/i18n/translations/attributes.coffee @@ -76,4 +76,10 @@ translations = attributes: base_workflow_action_definition: 'Base ${models.workflow_action_definition}' workflow_action_connection: conditional_base_value: 'Required if ${models.workflow_action_definition} is' + action_event: + client_identifier: '${attributes.project_instance.client_identifier}' + identifier: 'Action identifier' + event_key: 'Event key' + event_value: 'Event value' + event_timestamp: 'Event timestamp' export default translations diff --git a/tests/dummy/app/initializers/globals.coffee b/tests/dummy/app/initializers/globals.coffee index a75b9fe..0d61a07 100644 --- a/tests/dummy/app/initializers/globals.coffee +++ b/tests/dummy/app/initializers/globals.coffee @@ -42,6 +42,9 @@ default_globals = states: ['pending', 'planned', 'overdue', 'active', 'inquiry', 'rejected', 'completed'] final_states: ['inquiry', 'rejected', 'completed'] + action_event: + event_keys: ['state', 'value', 'note'] + time_formatting: 'LLL' date_formatting: 'LL'