• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CenterForOpenScience / ember-osf-web / 12892580303

21 Jan 2025 05:34PM UTC coverage: 68.238% (+3.3%) from 64.94%
12892580303

Pull #2447

github

web-flow
Merge df98061b6 into 8621f29d7
Pull Request #2447: [ENG-6813] FE Reference PR for Preprints DOI Versioning

2961 of 4719 branches covered (62.75%)

Branch coverage included in aggregate %.

203 of 269 new or added lines in 13 files covered. (75.46%)

91 existing lines in 1 file now uncovered.

7418 of 10491 relevant lines covered (70.71%)

203.22 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

72.22
/app/preprints/new-version/route.ts
1
import Store from '@ember-data/store';
2
import Route from '@ember/routing/route';
3
import RouterService from '@ember/routing/router-service';
4
import { inject as service } from '@ember/service';
5
import Toast from 'ember-toastr/services/toast';
6
import Intl from 'ember-intl/services/intl';
7

8
import Theme from 'ember-osf-web/services/theme';
9
import MetaTags, { HeadTagDef } from 'ember-osf-web/services/meta-tags';
10
import PreprintModel from 'ember-osf-web/models/preprint';
11

12
export default class PreprintNewVersionRoute extends Route {
13
    @service store!: Store;
14
    @service theme!: Theme;
15
    @service router!: RouterService;
16
    @service metaTags!: MetaTags;
17
    @service toast!: Toast;
18
    @service intl!: Intl;
19

20

21
    headTags?: HeadTagDef[];
22

23
    buildRouteInfoMetadata() {
24
        return {
2✔
25
            osfMetrics: {
26
                providerId: this.theme.id,
27
            },
28
        };
29
    }
30

31
    async model(args: any) {
32
        try {
1✔
33
            const provider = await this.store.findRecord('preprint-provider', args.provider_id);
1✔
34
            this.theme.providerType = 'preprint';
1✔
35
            this.theme.id = args.provider_id;
1✔
36

37
            const preprint: PreprintModel = await this.store.findRecord('preprint', args.guid);
1✔
38

39
            // TODO: Re-evaluate if re-route logic is necessary
40
            // if (!preprint.canCreateNewVersion) {
41
            //     let message = this.intl.t('preprints.submit.new-version.redirect.latest-published',
42
            //         { preprintWord: provider.documentType.singular });
43
            //     if (!preprint.currentUserIsAdmin) {
44
            //         message = this.intl.t('preprints.submit.new-version.redirect.permission',
45
            //             { preprintWord: provider.documentType.singular });
46
            //     }
47

48
            //     const title = this.intl.t('preprints.submit.new-version.redirect.title');
49
            //     this.toast.info(message, title);
50
            //     this.router.transitionTo('preprints.detail', args.provider_id, args.guid);
51
            //     return null;
52
            // }
53

54
            return {
1✔
55
                provider,
56
                preprint,
57
                brand: provider.brand.content,
58
            };
59
        } catch (e) {
NEW
60
            this.router.transitionTo('not-found', `preprints/${args.provider_id}`);
×
NEW
61
            return null;
×
62
        }
63
    }
64

65
    afterModel(model: any) {
66
        const {provider} = model;
1✔
67
        if (provider && provider.assets && provider.assets.favicon) {
1!
NEW
68
            const headTags = [{
×
69
                type: 'link',
70
                attrs: {
71
                    rel: 'icon',
72
                    href: provider.assets.favicon,
73
                },
74
            }];
NEW
75
            this.set('headTags', headTags);
×
76
        }
77
    }
78
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc