Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / ui / new_ui / ui / javascripts / ember / models / vm.js @ 47eca5c5

History | View | Annotate | Download (2 kB)

1 e4a6c3b8 Olga Brani
/*TODO: 
2 e4a6c3b8 Olga Brani
Add tags to Vm model*/
3 e4a6c3b8 Olga Brani
4 e4a6c3b8 Olga Brani
5 e4a6c3b8 Olga Brani
var statesActionsVm = {
6 e4a6c3b8 Olga Brani
    'off'      : {
7 47eca5c5 Olga Brani
        enabledActions : ['start', 'destroy'],
8 e4a6c3b8 Olga Brani
    },
9 e4a6c3b8 Olga Brani
    'error'      : {
10 47eca5c5 Olga Brani
        enabledActions : ['destroy'],
11 e4a6c3b8 Olga Brani
    },
12 e4a6c3b8 Olga Brani
    'building'      : {
13 47eca5c5 Olga Brani
        enabledActions : [],
14 e4a6c3b8 Olga Brani
    },
15 e4a6c3b8 Olga Brani
    'running'      : {
16 47eca5c5 Olga Brani
        enabledActions : ['reboot', 'shutdown', 'destroy'],
17 e4a6c3b8 Olga Brani
    },
18 e4a6c3b8 Olga Brani
    'rebooting'      : {
19 47eca5c5 Olga Brani
        enabledActions : ['destroy'],
20 e4a6c3b8 Olga Brani
    },
21 e4a6c3b8 Olga Brani
    'starting'      : {
22 47eca5c5 Olga Brani
        enabledActions : ['destroy'],
23 e4a6c3b8 Olga Brani
    },
24 e4a6c3b8 Olga Brani
    'shutting'      : {
25 47eca5c5 Olga Brani
        enabledActions : ['destroy'],
26 e4a6c3b8 Olga Brani
    },
27 e4a6c3b8 Olga Brani
};
28 e4a6c3b8 Olga Brani
29 e4a6c3b8 Olga Brani
30 e4a6c3b8 Olga Brani
// the model for a Vm
31 e4a6c3b8 Olga Brani
App.Vm = DS.Model.extend({
32 e4a6c3b8 Olga Brani
    name     : DS.attr(),
33 e4a6c3b8 Olga Brani
    state    : DS.attr(),
34 47eca5c5 Olga Brani
    os       : DS.attr(),
35 e4a6c3b8 Olga Brani
    link     : DS.attr(),
36 47eca5c5 Olga Brani
    flavor   : DS.attr('raw'),
37 e4a6c3b8 Olga Brani
    networks : DS.hasMany('network', { async:true }),
38 e4a6c3b8 Olga Brani
39 e4a6c3b8 Olga Brani
    enabledActions: function() {
40 47eca5c5 Olga Brani
        return statesActionsVm[this.get('state')].enabledActions;
41 47eca5c5 Olga Brani
    }.property('state'),
42 e4a6c3b8 Olga Brani
});
43 e4a6c3b8 Olga Brani
44 e4a6c3b8 Olga Brani
45 e4a6c3b8 Olga Brani
App.Vm.FIXTURES = [
46 47eca5c5 Olga Brani
    {
47 47eca5c5 Olga Brani
        id: 1,
48 47eca5c5 Olga Brani
        name: 'My cool VM 1',
49 47eca5c5 Olga Brani
        state: 'off',
50 47eca5c5 Olga Brani
        os: 'kubuntu',
51 47eca5c5 Olga Brani
        link: 'http://www.in.gr',
52 47eca5c5 Olga Brani
        networks:[1,2],
53 47eca5c5 Olga Brani
        flavor: {
54 47eca5c5 Olga Brani
            ram: 1,
55 47eca5c5 Olga Brani
            cpu: 2,
56 47eca5c5 Olga Brani
        },
57 47eca5c5 Olga Brani
    },
58 47eca5c5 Olga Brani
    {
59 47eca5c5 Olga Brani
        id: 2,
60 47eca5c5 Olga Brani
        name: 'My even cooler VM 2 that has a long name',
61 47eca5c5 Olga Brani
        state: 'error',
62 47eca5c5 Olga Brani
        os: 'unknown',
63 47eca5c5 Olga Brani
        link: 'http://www.in.gr',
64 47eca5c5 Olga Brani
        networks:[3],
65 47eca5c5 Olga Brani
    },
66 47eca5c5 Olga Brani
    {
67 47eca5c5 Olga Brani
        id: 3,
68 47eca5c5 Olga Brani
        name: 'My cool VM 3',
69 47eca5c5 Olga Brani
        state: 'building',
70 47eca5c5 Olga Brani
        os: 'windows',
71 47eca5c5 Olga Brani
        link: 'http://www.in.gr',
72 47eca5c5 Olga Brani
    },
73 47eca5c5 Olga Brani
    {
74 47eca5c5 Olga Brani
        id: 4,
75 47eca5c5 Olga Brani
        name: 'So awesome VM 4',
76 47eca5c5 Olga Brani
        state: 'running',
77 47eca5c5 Olga Brani
        os: 'fedora',
78 47eca5c5 Olga Brani
        link: 'www.france24.fr',
79 47eca5c5 Olga Brani
    },
80 47eca5c5 Olga Brani
    {
81 47eca5c5 Olga Brani
        id: 5,
82 47eca5c5 Olga Brani
        name: 'olga',
83 47eca5c5 Olga Brani
        state: 'rebooting',
84 47eca5c5 Olga Brani
        os: 'kubuntu',
85 47eca5c5 Olga Brani
        link: 'http://www.in.gr',
86 47eca5c5 Olga Brani
    },
87 47eca5c5 Olga Brani
    {
88 47eca5c5 Olga Brani
        id: 6,
89 47eca5c5 Olga Brani
        name: 'athina',
90 47eca5c5 Olga Brani
        state: 'starting',
91 47eca5c5 Olga Brani
        os: 'kubuntu',
92 47eca5c5 Olga Brani
        link: 'http://www.in.gr',
93 47eca5c5 Olga Brani
    },
94 47eca5c5 Olga Brani
    {
95 47eca5c5 Olga Brani
        id: 7,
96 47eca5c5 Olga Brani
        name: 'kpap',
97 47eca5c5 Olga Brani
        state: 'shutting',
98 47eca5c5 Olga Brani
        os: 'kubuntu',
99 47eca5c5 Olga Brani
        link: 'http://www.in.gr',
100 47eca5c5 Olga Brani
    },
101 47eca5c5 Olga Brani
];