repos
/ timestrap-django master

timestrap-django

mirror archived upstream

Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.

djangodockerhandcodedpythonself-hostedtime-trackingtimetracker

888 B · 38 lines · JavaScript Raw History
 1import Vue from 'vue';
 2
 3import fetch from '../../fetch';
 4
 5
 6export default {
 7  namespaced: true,
 8  state: {
 9    all: [],
10  },
11  mutations: {
12    setPermissions: (state, permissions) => state.all = permissions,
13  },
14  getters: {
15    getPermissions: state => {
16      return state.all.reduce((object, permission) => {
17        object[permission.codename] = permission;
18        return object;
19      });
20    },
21  },
22  actions: {
23    fetchPermissions({commit}) {
24      return new Promise((resolve, reject) => {
25        commit('addLoading', 'permissions', {root: true});
26        fetch.get(timestrapConfig.API_URLS.PERMISSIONS).then(response => {
27          commit('setPermissions', response.data);
28          commit('removeLoading', 'permissions', {root: true});
29          resolve();
30        }).catch(error => {
31          console.log(error);
32          reject();
33        });
34      });
35    },
36  },
37};