hummingbird-me/kitsu-web

View on GitHub
app/routes/groups/group/dashboard/reports.js

Summary

Maintainability
A
0 mins
Test Coverage
F
0%
import Route from '@ember/routing/route';
import { get } from '@ember/object';
import { inject as service } from '@ember/service';
import { CanMixin } from 'ember-can';
import Pagination from 'kitsu-shared/mixins/pagination';

export default Route.extend(CanMixin, Pagination, {
  intl: service(),

  beforeModel() {
    const model = this.modelFor('groups.group.dashboard');
    const membership = get(model, 'membership');
    if (!this.can('manage reports for group', { membership })) {
      return this.transitionTo('groups.group.dashboard.index');
    }
  },

  model() {
    const model = this.modelFor('groups.group.dashboard');
    return {
      taskInstance: this.queryPaginated('feed', {
        type: 'reports_aggr',
        id: get(model, 'group.id'),
        include: 'subject.user,subject.naughty,subject.moderator'
      }, { cache: false }),
      paginatedRecords: []
    };
  },

  titleToken() {
    const model = this.modelFor('groups.group.dashboard');
    const group = get(model, 'group.name');
    return get(this, 'intl').t('titles.groups.group.dashboard.reports', { group });
  },

  actions: {
    refreshModel() {
      this.refresh();
    }
  },

  _getRealStatus(filter) {
    switch (filter) {
      case 'open':
        return 'reported';
      case 'resolved':
        return 'resolved';
      default:
        return undefined;
    }
  }
});