Merge branch 'dev' into filter_workouts_by_name
This commit is contained in:
@ -62,10 +62,10 @@ class BaseConfig:
|
||||
'fr',
|
||||
'de',
|
||||
'it',
|
||||
# 'nb', # disabled for now
|
||||
'nb',
|
||||
'nl',
|
||||
# 'es', # disabled for now
|
||||
# 'gl', # disabled for now
|
||||
'es',
|
||||
'gl',
|
||||
]
|
||||
OAUTH2_TOKEN_EXPIRES_IN = {
|
||||
'authorization_code': 864000, # 10 days
|
||||
|
2
fittrackee/dist/index.html
vendored
2
fittrackee/dist/index.html
vendored
@ -1 +1 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.504d6d07.js"></script><script defer="defer" src="/static/js/app.101c16d4.js"></script><link href="/static/css/app.e504ceb2.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.01cb48d3.js"></script><script defer="defer" src="/static/js/app.fbd9f0c5.js"></script><link href="/static/css/app.5f8309dc.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
2
fittrackee/dist/service-worker.js
vendored
2
fittrackee/dist/service-worker.js
vendored
File diff suppressed because one or more lines are too long
2
fittrackee/dist/service-worker.js.map
vendored
2
fittrackee/dist/service-worker.js.map
vendored
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/css/app.5f8309dc.css
vendored
Normal file
1
fittrackee/dist/static/css/app.5f8309dc.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/css/app.e504ceb2.css
vendored
1
fittrackee/dist/static/css/app.e504ceb2.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
||||
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[328],{6e3:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var a=i(6252),n=i(2262),s=i(8273),c=i(5801),r=i(9917);const S=t=>((0,a.dD)("data-v-64629971"),t=t(),(0,a.Cn)(),t),l={id:"admin",class:"view"},p={key:0,class:"container"},u=S((()=>(0,a._)("div",{id:"bottom"},null,-1)));var T=(0,a.aZ)({__name:"AdminView",setup(t){const e=(0,r.o)(),i=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_CONFIG])),S=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_STATS])),T=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.IS_ADMIN])),d=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.USER_LOADING]));return(0,a.wF)((()=>e.dispatch(c.SY.ACTIONS.GET_APPLICATION_STATS))),(t,e)=>{const c=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",l,[(0,n.SU)(d)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",p,[(0,n.SU)(T)?((0,a.wg)(),(0,a.j4)(c,{key:0,appConfig:(0,n.SU)(i),appStatistics:(0,n.SU)(S)},null,8,["appConfig","appStatistics"])):((0,a.wg)(),(0,a.j4)(s.Z,{key:1})),u]))])}}}),d=i(3744);const o=(0,d.Z)(T,[["__scopeId","data-v-64629971"]]);var _=o}}]);
|
||||
//# sourceMappingURL=admin.4313b7d9.js.map
|
||||
//# sourceMappingURL=admin.9c006817.js.map
|
@ -1 +1 @@
|
||||
{"version":3,"file":"static/js/admin.4313b7d9.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,MAGN,CAEJ,I,UCvDA,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef<TAppConfig> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef<IAppStatistics> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""}
|
||||
{"version":3,"file":"static/js/admin.9c006817.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,MAGN,CAEJ,I,UCvDA,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef<TAppConfig> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef<IAppStatistics> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""}
|
2
fittrackee/dist/static/js/app.101c16d4.js
vendored
2
fittrackee/dist/static/js/app.101c16d4.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
fittrackee/dist/static/js/app.fbd9f0c5.js
vendored
Normal file
2
fittrackee/dist/static/js/app.fbd9f0c5.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/app.fbd9f0c5.js.map
vendored
Normal file
1
fittrackee/dist/static/js/app.fbd9f0c5.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/chunk-vendors.01cb48d3.js.map
vendored
Normal file
1
fittrackee/dist/static/js/chunk-vendors.01cb48d3.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
fittrackee/dist/static/js/password.es.bde78b49.js
vendored
Normal file
2
fittrackee/dist/static/js/password.es.bde78b49.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/password.es.bde78b49.js.map
vendored
Normal file
1
fittrackee/dist/static/js/password.es.bde78b49.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
||||
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[845],{4264:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),c=r(5801),i=r(9917);const l={key:0,id:"account-confirmation",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"AccountConfirmationView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,i.o)(),d=(0,n.Fl)((()=>_.getters[c.SY.GETTERS.ERROR_MESSAGES])),S=(0,n.Fl)((()=>t.query.token));function m(){S.value?_.dispatch(c.YN.ACTIONS.CONFIRM_ACCOUNT,{token:S.value}):r.push("/")}return(0,n.wF)((()=>m())),(0,n.Ah)((()=>_.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,t)=>{const r=(0,n.up)("router-link");return(0,a.SU)(d)?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n.Wm)(r,{class:"links",to:"/account-confirmation/resend"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("buttons.ACCOUNT-CONFIRMATION-RESEND"))+"? ",1)])),_:1})])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-785df978"]]);var m=S},8793:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),c=r(5801),i=r(9917);const l={key:0,id:"email-update",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"EmailUpdateView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,i.o)(),d=(0,n.Fl)((()=>_.getters[c.YN.GETTERS.AUTH_USER_PROFILE])),S=(0,n.Fl)((()=>_.getters[c.YN.GETTERS.IS_AUTHENTICATED])),m=(0,n.Fl)((()=>_.getters[c.SY.GETTERS.ERROR_MESSAGES])),p=(0,n.Fl)((()=>t.query.token));function R(){p.value?_.dispatch(c.YN.ACTIONS.CONFIRM_EMAIL,{token:p.value,refreshUser:S.value}):r.push("/")}return(0,n.wF)((()=>R())),(0,n.Ah)((()=>_.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,n.YP)((()=>m.value),(e=>{d.value.username&&e&&r.push("/")})),(e,t)=>{const r=(0,n.up)("router-link"),u=(0,n.up)("i18n-t");return(0,a.SU)(m)&&!(0,a.SU)(d).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n._)("span",null,[(0,n.Wm)(u,{keypath:"user.PROFILE.ERRORED_EMAIL_UPDATE"},{default:(0,n.w5)((()=>[(0,n.Wm)(r,{to:"/login"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("user.LOG_IN")),1)])),_:1})])),_:1})])])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-8c2ec9ce"]]);var m=S},1133:function(e,t,r){r.r(t),r.d(t,{default:function(){return d}});var n=r(6252),a=r(2262),s=r(5801),u=r(9917);const o=e=>((0,n.dD)("data-v-6646c65e"),e=e(),(0,n.Cn)(),e),c={key:0,id:"profile",class:"view"},i=o((()=>(0,n._)("div",{id:"bottom"},null,-1)));var l=(0,n.aZ)({__name:"ProfileView",setup(e){const t=(0,u.o)(),r=(0,n.Fl)((()=>t.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,n.up)("router-view");return(0,a.SU)(r).username?((0,n.wg)(),(0,n.iD)("div",c,[(0,n.Wm)(s,{user:(0,a.SU)(r)},null,8,["user"]),i])):(0,n.kq)("",!0)}}}),E=r(3744);const _=(0,E.Z)(l,[["__scopeId","data-v-6646c65e"]]);var d=_},9453:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(6252),a=r(2262),s=r(2201),u=r(2179),o=r(1585),c=r(5801),i=r(9917);const l={key:0,id:"user",class:"view"},E={class:"box"};var _=(0,n.aZ)({__name:"UserView",props:{fromAdmin:{type:Boolean}},setup(e){const t=e,{fromAdmin:r}=(0,a.BK)(t),_=(0,s.yj)(),d=(0,i.o)(),S=(0,n.Fl)((()=>d.getters[c.RT.GETTERS.USER]));return(0,n.wF)((()=>{_.params.username&&"string"===typeof _.params.username&&d.dispatch(c.RT.ACTIONS.GET_USER,_.params.username)})),(0,n.Jd)((()=>{d.dispatch(c.RT.ACTIONS.EMPTY_USER)})),(e,t)=>(0,a.SU)(S).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(u.Z,{user:(0,a.SU)(S)},null,8,["user"]),(0,n._)("div",E,[(0,n.Wm)(o.Z,{user:(0,a.SU)(S),"from-admin":(0,a.SU)(r)},null,8,["user","from-admin"])])])):(0,n.kq)("",!0)}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-af7007f4"]]);var m=S}}]);
|
||||
//# sourceMappingURL=profile.98e985f4.js.map
|
||||
//# sourceMappingURL=profile.d284fee8.js.map
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/reset.3d1800dc.js.map
vendored
Normal file
1
fittrackee/dist/static/js/reset.3d1800dc.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
||||
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[193],{7885:function(e,s,t){t.r(s),t.d(s,{default:function(){return A}});var a=t(6252),r=t(2262),l=t(3577),o=(t(7658),t(9150)),n=t(436);const c={class:"chart-menu"},i={class:"chart-arrow"},u={class:"time-frames custom-checkboxes-group"},d={class:"time-frames-checkboxes custom-checkboxes"},p=["id","name","checked","onInput"],m={class:"chart-arrow"};var v=(0,a.aZ)({__name:"StatsMenu",emits:["arrowClick","timeFrameUpdate"],setup(e,{emit:s}){const t=(0,r.iH)("month"),o=["week","month","year"];function n(e){t.value=e,s("timeFrameUpdate",e)}return(e,r)=>((0,a.wg)(),(0,a.iD)("div",c,[(0,a._)("div",i,[(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:r[0]||(r[0]=e=>s("arrowClick",!0))})]),(0,a._)("div",u,[(0,a._)("div",d,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(o,(s=>(0,a._)("div",{class:"time-frame custom-checkbox",key:s},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:s,name:s,checked:t.value===s,onInput:e=>n(s)},null,40,p),(0,a._)("span",null,(0,l.zw)(e.$t(`statistics.TIME_FRAMES.${s}`)),1)])]))),64))])]),(0,a._)("div",m,[(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:r[1]||(r[1]=e=>s("arrowClick",!1))})])]))}}),k=t(3744);const _=(0,k.Z)(v,[["__scopeId","data-v-22d55de2"]]);var S=_,w=t(631);const f={class:"sports-menu"},h=["id","name","checked","onInput"],U={class:"sport-label"};var b=(0,a.aZ)({__name:"StatsSportsMenu",props:{userSports:null,selectedSportIds:{default:()=>[]}},emits:["selectedSportIdsUpdate"],setup(e,{emit:s}){const t=e,{t:n}=(0,o.QT)(),c=(0,a.f3)("sportColors"),{selectedSportIds:i}=(0,r.BK)(t),u=(0,a.Fl)((()=>(0,w.xH)(t.userSports,n)));function d(e){s("selectedSportIdsUpdate",e)}return(e,s)=>{const t=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",f,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,r.SU)(u),(e=>((0,a.wg)(),(0,a.iD)("label",{type:"checkbox",key:e.id,style:(0,l.j5)({color:e.color?e.color:(0,r.SU)(c)[e.label]})},[(0,a._)("input",{type:"checkbox",id:e.id,name:e.label,checked:(0,r.SU)(i).includes(e.id),onInput:s=>d(e.id)},null,40,h),(0,a.Wm)(t,{"sport-label":e.label,color:e.color},null,8,["sport-label","color"]),(0,a._)("span",U,(0,l.zw)(e.translatedLabel),1)],4)))),128))])}}});const I=b;var g=I,T=t(9318);const y={key:0,id:"user-statistics"};var C=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const s=e,{t:t}=(0,o.QT)(),{sports:l,user:c}=(0,r.BK)(s),i=(0,r.iH)("month"),u=(0,r.iH)(v(i.value)),d=(0,a.Fl)((()=>(0,w.xH)(s.sports,t))),p=(0,r.iH)(_(s.sports));function m(e){i.value=e,u.value=v(i.value)}function v(e){return(0,T.aZ)(new Date,e,s.user.weekm)}function k(e){u.value=(0,T.FN)(u.value,e,s.user.weekm)}function _(e){return e.map((e=>e.id))}function f(e){p.value.includes(e)?p.value=p.value.filter((s=>s!==e)):p.value.push(e)}return(0,a.YP)((()=>s.sports),(e=>{p.value=_(e)})),(e,s)=>(0,r.SU)(d)?((0,a.wg)(),(0,a.iD)("div",y,[(0,a.Wm)(S,{onTimeFrameUpdate:m,onArrowClick:k}),(0,a.Wm)(n.Z,{sports:(0,r.SU)(l),user:(0,r.SU)(c),chartParams:u.value,"displayed-sport-ids":p.value,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),(0,a.Wm)(g,{"selected-sport-ids":p.value,"user-sports":(0,r.SU)(l),onSelectedSportIdsUpdate:f},null,8,["selected-sport-ids","user-sports"])])):(0,a.kq)("",!0)}});const F=(0,k.Z)(C,[["__scopeId","data-v-30799d13"]]);var Z=F,x=t(5630),D=t(5801),H=t(9917);const E={id:"statistics",class:"view"},R={key:0,class:"container"};var W=(0,a.aZ)({__name:"StatisticsView",setup(e){const s=(0,H.o)(),t=(0,a.Fl)((()=>s.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),o=(0,a.Fl)((()=>s.getters[D.O8.GETTERS.SPORTS].filter((e=>t.value.sports_list.includes(e.id)))));return(e,s)=>{const n=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",E,[(0,r.SU)(t).username?((0,a.wg)(),(0,a.iD)("div",R,[(0,a.Wm)(n,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,l.zw)(e.$t("statistics.STATISTICS")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Z,{class:(0,l.C_)({"stats-disabled":0===(0,r.SU)(t).nb_workouts}),user:(0,r.SU)(t),sports:(0,r.SU)(o)},null,8,["class","user","sports"])])),_:1}),0===(0,r.SU)(t).nb_workouts?((0,a.wg)(),(0,a.j4)(x.Z,{key:0})):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])}}});const P=(0,k.Z)(W,[["__scopeId","data-v-2e341d4e"]]);var A=P}}]);
|
||||
//# sourceMappingURL=statistics.5228e1ba.js.map
|
||||
//# sourceMappingURL=statistics.3b4abef2.js.map
|
1
fittrackee/dist/static/js/statistics.3b4abef2.js.map
vendored
Normal file
1
fittrackee/dist/static/js/statistics.3b4abef2.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
fittrackee/dist/static/js/workouts.fd4ab6ab.js
vendored
Normal file
2
fittrackee/dist/static/js/workouts.fd4ab6ab.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/workouts.fd4ab6ab.js.map
vendored
Normal file
1
fittrackee/dist/static/js/workouts.fd4ab6ab.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
fittrackee/dist/workbox-db5fc017.js
vendored
2
fittrackee/dist/workbox-db5fc017.js
vendored
File diff suppressed because one or more lines are too long
2
fittrackee/dist/workbox-db5fc017.js.map
vendored
2
fittrackee/dist/workbox-db5fc017.js.map
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -8,21 +8,23 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-03-04 10:33+0100\n"
|
||||
"PO-Revision-Date: 2023-03-12 07:50+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2023-03-15 13:40+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/fittrackee/"
|
||||
"fittrackee-api-emails/es/>\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: es <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"Generated-By: Babel 2.12.1\n"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:215
|
||||
#: fittrackee/emails/templates/layout.txt:1
|
||||
#, python-format
|
||||
msgid "Hi %(username)s,"
|
||||
msgstr ""
|
||||
msgstr "Hola %(username)s,"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:6
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
|
||||
@ -35,41 +37,43 @@ msgid ""
|
||||
"For security, this request was received from a %(operating_system)s "
|
||||
"device using %(browser_name)s."
|
||||
msgstr ""
|
||||
"Por seguridad, esta solicitud se ha recibido desde un dispositivo "
|
||||
"%(operating_system)s usando %(browser_name)s."
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:221
|
||||
#: fittrackee/emails/templates/layout.txt:5
|
||||
msgid "Thanks,"
|
||||
msgstr ""
|
||||
msgstr "Gracias,"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:222
|
||||
#: fittrackee/emails/templates/layout.txt:6
|
||||
msgid "The FitTrackee Team"
|
||||
msgstr ""
|
||||
msgstr "El Equipo FitTrackee"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:2
|
||||
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
|
||||
msgid "Confirm your account"
|
||||
msgstr ""
|
||||
msgstr "Confirmar mi cuenta"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:3
|
||||
msgid "Use this link to confirm your account."
|
||||
msgstr ""
|
||||
msgstr "Usa este enlace para confirmar tu cuenta."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:1
|
||||
msgid "You have created an account on FitTrackee."
|
||||
msgstr ""
|
||||
msgstr "Has creado una cuenta en FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
msgid "Use the button below to confirm your address email."
|
||||
msgstr ""
|
||||
msgstr "Usa el botón inferior para confirmar tu dirección de correo."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:11
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
|
||||
msgid "Verify your email"
|
||||
msgstr ""
|
||||
msgstr "Verifica tu email"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:18
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:7
|
||||
@ -77,6 +81,7 @@ msgid ""
|
||||
"If this account creation wasn't initiated by you, please ignore this "
|
||||
"email."
|
||||
msgstr ""
|
||||
"Si no has iniciado la creación de esta cuenta, por favor ignora este correo."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:22
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:22
|
||||
@ -86,34 +91,36 @@ msgid ""
|
||||
"If you're having trouble with the button above, copy and paste the URL "
|
||||
"below into your web browser."
|
||||
msgstr ""
|
||||
"Si tienes problemas con el botón superior, copia y pega la URL inferior en "
|
||||
"tu navegador web."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:2
|
||||
msgid "Use the link below to confirm your address email."
|
||||
msgstr ""
|
||||
msgstr "Usa la dirección inferior para confirmar tu dirección de correo."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:2
|
||||
#: fittrackee/emails/templates/data_export_ready/subject.txt:1
|
||||
msgid "Your archive is ready to be downloaded"
|
||||
msgstr ""
|
||||
msgstr "Tu archivo está listo para ser descargado"
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:3
|
||||
msgid "A download link is available in your account."
|
||||
msgstr ""
|
||||
msgstr "Tienes un enlace de descarga disponible en tu cuenta."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:4
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:1
|
||||
msgid "You have requested an export of your account on FitTrackee."
|
||||
msgstr ""
|
||||
msgstr "Has solicitado la exportación de tu cuenta en FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:4
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:2
|
||||
msgid "The archive is now ready to be downloaded from your account."
|
||||
msgstr ""
|
||||
msgstr "El archivo está listo para ser descargado desde tu cuenta."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:11
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:4
|
||||
msgid "Download your archive"
|
||||
msgstr ""
|
||||
msgstr "Descarga tu archivo"
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:18
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:5
|
||||
@ -121,15 +128,17 @@ msgid ""
|
||||
"If you did not request the export, please change your password "
|
||||
"immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
"Si no has solicitado la exportación, cambia inmediatamente la contraseña o "
|
||||
"contacta con la administración si tu cuenta está bloqueada."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
|
||||
msgid "Email changed"
|
||||
msgstr ""
|
||||
msgstr "Email cambiado"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
|
||||
msgid "Your email is being updated."
|
||||
msgstr ""
|
||||
msgstr "Tu email ha sido actualizado."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
|
||||
@ -137,6 +146,8 @@ msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account to:"
|
||||
msgstr ""
|
||||
"Recientemente has solicitado cambiar tu dirección de correo en tu instancia "
|
||||
"FitTrackee a:"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
|
||||
@ -144,15 +155,17 @@ msgid ""
|
||||
"If this email change wasn't initiated by you, please change your password"
|
||||
" immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
"Si no has solicitado este cambio de email, por favor cambia inmediatamente "
|
||||
"tu contraseña o contacta con la administración si tu cuenta está bloqueada."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
|
||||
msgid "Confirm email change"
|
||||
msgstr ""
|
||||
msgstr "Confirma el cambio de email"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
|
||||
msgid "Use this link to confirm email change."
|
||||
msgstr ""
|
||||
msgstr "Usa este enlace para confirmar el cambio de email."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
|
||||
@ -160,33 +173,35 @@ msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account."
|
||||
msgstr ""
|
||||
"Has solicitado recientemente cambiar la dirección de email de tu cuenta "
|
||||
"FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
msgid "Use the button below to confirm this address."
|
||||
msgstr ""
|
||||
msgstr "Usa el botón inferior para confirmar esta dirección."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
|
||||
msgid "If this email change wasn't initiated by you, please ignore this email."
|
||||
msgstr ""
|
||||
msgstr "Si no has iniciado este cambio, por favor ignora este correo."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
|
||||
msgid "Use the link below to confirm this address."
|
||||
msgstr ""
|
||||
msgstr "Usa el enlace inferior para confirmar esta dirección."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:2
|
||||
#: fittrackee/emails/templates/password_change/subject.txt:1
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
msgstr "Contraseña cambiada"
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:3
|
||||
msgid "Your password has been changed."
|
||||
msgstr ""
|
||||
msgstr "Tu contraseña ha sido cambiada."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:4
|
||||
#: fittrackee/emails/templates/password_change/body.txt:1
|
||||
msgid "The password for your FitTrackee account has been changed."
|
||||
msgstr ""
|
||||
msgstr "La contraseña de tu cuenta FitTrackee ha sido cambiada."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:5
|
||||
#: fittrackee/emails/templates/password_change/body.txt:4
|
||||
@ -195,11 +210,13 @@ msgid ""
|
||||
"password immediately or contact your administrator if your account is "
|
||||
"locked."
|
||||
msgstr ""
|
||||
"Si no has iniciado este cambio de contraseña, por favor cambia la contraseña "
|
||||
"ahora mismo o contacta con la administración si la cuenta está bloqueada."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:2
|
||||
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
|
||||
msgid "Password reset request"
|
||||
msgstr ""
|
||||
msgstr "Solicitud de cambio de contraseña"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:3
|
||||
#, python-format
|
||||
@ -207,33 +224,37 @@ msgid ""
|
||||
"Use this link to reset your password. The link is only valid for "
|
||||
"%(expiration_delay)s."
|
||||
msgstr ""
|
||||
"Usa este enlace para cambiar tu contraseña. Este enlace será válido durante "
|
||||
"%(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "You recently requested to reset your password for your FitTrackee account."
|
||||
msgstr ""
|
||||
"Recientemente has solicitado cambiar la contraseña de tu cuenta FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
msgid "Use the button below to reset it."
|
||||
msgstr ""
|
||||
msgstr "Usa el botón inferior para restablecerla."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:5
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:2
|
||||
#, python-format
|
||||
msgid "This password reset link is only valid for %(expiration_delay)s."
|
||||
msgstr ""
|
||||
"Este enlace para restablecer la contraseña sólo será válido durante "
|
||||
"%(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:13
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:4
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
msgstr "Restablecer contraseña"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:20
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:7
|
||||
msgid "If you did not request a password reset, please ignore this email."
|
||||
msgstr ""
|
||||
msgstr "Si no has solicitado restablecer la contraseña, ignora este email."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "Use the link below to reset it."
|
||||
msgstr ""
|
||||
|
||||
msgstr "Usa el enlace inferior para restablecerla."
|
||||
|
Binary file not shown.
@ -8,21 +8,23 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-03-04 10:33+0100\n"
|
||||
"PO-Revision-Date: 2023-03-12 07:50+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2023-03-22 17:40+0000\n"
|
||||
"Last-Translator: \"josé m.\" <correoxm@disroot.org>\n"
|
||||
"Language-Team: Galician <https://hosted.weblate.org/projects/fittrackee/"
|
||||
"fittrackee-api-emails/gl/>\n"
|
||||
"Language: gl\n"
|
||||
"Language-Team: gl <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"Generated-By: Babel 2.12.1\n"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:215
|
||||
#: fittrackee/emails/templates/layout.txt:1
|
||||
#, python-format
|
||||
msgid "Hi %(username)s,"
|
||||
msgstr ""
|
||||
msgstr "Ola %(username)s,"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:6
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
|
||||
@ -35,41 +37,43 @@ msgid ""
|
||||
"For security, this request was received from a %(operating_system)s "
|
||||
"device using %(browser_name)s."
|
||||
msgstr ""
|
||||
"Por seguridade, recibiuse a solicitude desde un dispositivo "
|
||||
"%(operating_system)s usando %(browser_name)s."
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:221
|
||||
#: fittrackee/emails/templates/layout.txt:5
|
||||
msgid "Thanks,"
|
||||
msgstr ""
|
||||
msgstr "Grazas,"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:222
|
||||
#: fittrackee/emails/templates/layout.txt:6
|
||||
msgid "The FitTrackee Team"
|
||||
msgstr ""
|
||||
msgstr "O Equipo FitTrackee"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:2
|
||||
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
|
||||
msgid "Confirm your account"
|
||||
msgstr ""
|
||||
msgstr "Confirma a túa conta"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:3
|
||||
msgid "Use this link to confirm your account."
|
||||
msgstr ""
|
||||
msgstr "Usa esta ligazón para confirmar a conta."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:1
|
||||
msgid "You have created an account on FitTrackee."
|
||||
msgstr ""
|
||||
msgstr "Creaches unha conta en FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
msgid "Use the button below to confirm your address email."
|
||||
msgstr ""
|
||||
msgstr "Usa o botón inferior para confirmar o enderezo do teu correo."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:11
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
|
||||
msgid "Verify your email"
|
||||
msgstr ""
|
||||
msgstr "Verifica o email"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:18
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:7
|
||||
@ -77,6 +81,7 @@ msgid ""
|
||||
"If this account creation wasn't initiated by you, please ignore this "
|
||||
"email."
|
||||
msgstr ""
|
||||
"Se non iniciaches ti a creación da conta, ignora este correo electrónico."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:22
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:22
|
||||
@ -86,34 +91,36 @@ msgid ""
|
||||
"If you're having trouble with the button above, copy and paste the URL "
|
||||
"below into your web browser."
|
||||
msgstr ""
|
||||
"Se tes problemas co botón superior, copia e pega o URL inferior no teu "
|
||||
"navegador web."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:2
|
||||
msgid "Use the link below to confirm your address email."
|
||||
msgstr ""
|
||||
msgstr "Usa a ligazón inferior para confirmar o teu enderezo de correo."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:2
|
||||
#: fittrackee/emails/templates/data_export_ready/subject.txt:1
|
||||
msgid "Your archive is ready to be downloaded"
|
||||
msgstr ""
|
||||
msgstr "O arquivo está listo para descargar"
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:3
|
||||
msgid "A download link is available in your account."
|
||||
msgstr ""
|
||||
msgstr "Tes unha ligazón de descarga dispoñible na túa conta."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:4
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:1
|
||||
msgid "You have requested an export of your account on FitTrackee."
|
||||
msgstr ""
|
||||
msgstr "Solicitaches exportar a túa conta de FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:4
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:2
|
||||
msgid "The archive is now ready to be downloaded from your account."
|
||||
msgstr ""
|
||||
msgstr "O arquivo está dispoñible na túa conta para ser descargado."
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:11
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:4
|
||||
msgid "Download your archive"
|
||||
msgstr ""
|
||||
msgstr "Descarga o teu arquivo"
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:18
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:5
|
||||
@ -121,15 +128,17 @@ msgid ""
|
||||
"If you did not request the export, please change your password "
|
||||
"immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
"Se non solicitaches a exportación, cambia agora mesmo o contrasinal ou "
|
||||
"contacta coa administración se a conta está bloqueada."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
|
||||
msgid "Email changed"
|
||||
msgstr ""
|
||||
msgstr "Email cambiado"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
|
||||
msgid "Your email is being updated."
|
||||
msgstr ""
|
||||
msgstr "Estase actualizando o enderezo de email."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
|
||||
@ -137,6 +146,8 @@ msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account to:"
|
||||
msgstr ""
|
||||
"Recentemente solicitaches cambiar o enderezo de correo da túa conta "
|
||||
"FitTrackee a:"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
|
||||
@ -144,15 +155,17 @@ msgid ""
|
||||
"If this email change wasn't initiated by you, please change your password"
|
||||
" immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
"Se non solicitaches este cambio, cambia agora mesmo o contrasinal ou "
|
||||
"contacta coa administración se a conta está bloqueada."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
|
||||
msgid "Confirm email change"
|
||||
msgstr ""
|
||||
msgstr "Confirma o cambio de email"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
|
||||
msgid "Use this link to confirm email change."
|
||||
msgstr ""
|
||||
msgstr "Usa esta ligazón para confirmar o cambio."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
|
||||
@ -160,33 +173,35 @@ msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account."
|
||||
msgstr ""
|
||||
"Recentemente solicitaches cambiar o enderezo de correo da túa conta "
|
||||
"FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
msgid "Use the button below to confirm this address."
|
||||
msgstr ""
|
||||
msgstr "Usa o botón inferior para confirmar este enderezo."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
|
||||
msgid "If this email change wasn't initiated by you, please ignore this email."
|
||||
msgstr ""
|
||||
msgstr "Se non solicitaches este cambio, podes ignorar este correo."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
|
||||
msgid "Use the link below to confirm this address."
|
||||
msgstr ""
|
||||
msgstr "Usa a ligazón inferior para confirmar este enderezo."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:2
|
||||
#: fittrackee/emails/templates/password_change/subject.txt:1
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
msgstr "Contrasinal cambiado"
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:3
|
||||
msgid "Your password has been changed."
|
||||
msgstr ""
|
||||
msgstr "Realizouse o cambio de contrasinal."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:4
|
||||
#: fittrackee/emails/templates/password_change/body.txt:1
|
||||
msgid "The password for your FitTrackee account has been changed."
|
||||
msgstr ""
|
||||
msgstr "Realizouse o cambio de contrasinal da túa conta FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:5
|
||||
#: fittrackee/emails/templates/password_change/body.txt:4
|
||||
@ -195,11 +210,13 @@ msgid ""
|
||||
"password immediately or contact your administrator if your account is "
|
||||
"locked."
|
||||
msgstr ""
|
||||
"Se non solicitaches este cambio de contrasinal, cambia agora mesmo o "
|
||||
"contrasinal ou contacta coa administración se a conta está bloqueada."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:2
|
||||
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
|
||||
msgid "Password reset request"
|
||||
msgstr ""
|
||||
msgstr "Solicitude para restablecer contrasinal"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:3
|
||||
#, python-format
|
||||
@ -207,33 +224,37 @@ msgid ""
|
||||
"Use this link to reset your password. The link is only valid for "
|
||||
"%(expiration_delay)s."
|
||||
msgstr ""
|
||||
"Usa esta ligazón para restablecer o contrasinal. A ligazón será válida "
|
||||
"durante %(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "You recently requested to reset your password for your FitTrackee account."
|
||||
msgstr ""
|
||||
"Recentemente solicitaches cambiar o contrasinal da túa conta FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
msgid "Use the button below to reset it."
|
||||
msgstr ""
|
||||
msgstr "Usa o botón inferior para restablecela."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:5
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:2
|
||||
#, python-format
|
||||
msgid "This password reset link is only valid for %(expiration_delay)s."
|
||||
msgstr ""
|
||||
"A ligazón para restablecer o contrasinal será válido durante "
|
||||
"%(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:13
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:4
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
msgstr "Restablece o contrasinal"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:20
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:7
|
||||
msgid "If you did not request a password reset, please ignore this email."
|
||||
msgstr ""
|
||||
msgstr "Se non solicitaches restablecer o contrasinal, ignora este correo."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "Use the link below to reset it."
|
||||
msgstr ""
|
||||
|
||||
msgstr "Usa a ligazón inferior para restablecelo."
|
||||
|
Binary file not shown.
@ -8,21 +8,23 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-03-04 10:33+0100\n"
|
||||
"PO-Revision-Date: 2022-10-31 10:19+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2023-03-13 06:42+0000\n"
|
||||
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
||||
"fittrackee/fittrackee-api-emails/nb_NO/>\n"
|
||||
"Language: nb\n"
|
||||
"Language-Team: nb <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:215
|
||||
#: fittrackee/emails/templates/layout.txt:1
|
||||
#, python-format
|
||||
msgid "Hi %(username)s,"
|
||||
msgstr ""
|
||||
msgstr "Hei %(username)s,"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:6
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
|
||||
@ -39,7 +41,7 @@ msgstr ""
|
||||
#: fittrackee/emails/templates/layout.html:221
|
||||
#: fittrackee/emails/templates/layout.txt:5
|
||||
msgid "Thanks,"
|
||||
msgstr ""
|
||||
msgstr "Takk,"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:222
|
||||
#: fittrackee/emails/templates/layout.txt:6
|
||||
@ -49,11 +51,11 @@ msgstr ""
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:2
|
||||
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
|
||||
msgid "Confirm your account"
|
||||
msgstr ""
|
||||
msgstr "Bekreft kontoen din"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:3
|
||||
msgid "Use this link to confirm your account."
|
||||
msgstr ""
|
||||
msgstr "Bruk denne lenken for å bekrefte kontoen din."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:1
|
||||
@ -69,7 +71,7 @@ msgstr ""
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
|
||||
msgid "Verify your email"
|
||||
msgstr ""
|
||||
msgstr "Bekreft e-postadressen din"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:18
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:7
|
||||
@ -113,7 +115,7 @@ msgstr ""
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:11
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:4
|
||||
msgid "Download your archive"
|
||||
msgstr ""
|
||||
msgstr "Last ned arkivet ditt"
|
||||
|
||||
#: fittrackee/emails/templates/data_export_ready/body.html:18
|
||||
#: fittrackee/emails/templates/data_export_ready/body.txt:5
|
||||
@ -125,7 +127,7 @@ msgstr ""
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
|
||||
msgid "Email changed"
|
||||
msgstr ""
|
||||
msgstr "E-post endret"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
|
||||
msgid "Your email is being updated."
|
||||
@ -177,7 +179,7 @@ msgstr ""
|
||||
#: fittrackee/emails/templates/password_change/body.html:2
|
||||
#: fittrackee/emails/templates/password_change/subject.txt:1
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
msgstr "Passord endret"
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:3
|
||||
msgid "Your password has been changed."
|
||||
@ -226,7 +228,7 @@ msgstr ""
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:13
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:4
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
msgstr "Tilbakestill passord ditt"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:20
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:7
|
||||
@ -235,5 +237,4 @@ msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "Use the link below to reset it."
|
||||
msgstr ""
|
||||
|
||||
msgstr "Bruk lenken nedenfor for å tilbakestille det."
|
||||
|
@ -0,0 +1,35 @@
|
||||
"""add user preference to start elevation plots at zero
|
||||
|
||||
Revision ID: db58d195c5bf
|
||||
Revises: 374a670efe23
|
||||
Create Date: 2023-03-14 04:14:23.781672
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = 'db58d195c5bf'
|
||||
down_revision = '374a670efe23'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('users', schema=None) as batch_op:
|
||||
batch_op.add_column(sa.Column('start_elevation_at_zero', sa.Boolean(), nullable=True))
|
||||
op.execute("UPDATE users SET start_elevation_at_zero = true")
|
||||
op.alter_column('users', 'start_elevation_at_zero', nullable=False)
|
||||
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('users', schema=None) as batch_op:
|
||||
batch_op.drop_column('start_elevation_at_zero')
|
||||
|
||||
# ### end Alembic commands ###
|
@ -1482,6 +1482,7 @@ class TestUserPreferencesUpdate(ApiTestCaseMixin):
|
||||
language=input_language,
|
||||
imperial_units=True,
|
||||
display_ascent=False,
|
||||
start_elevation_at_zero=False,
|
||||
date_format='yyyy-MM-dd',
|
||||
)
|
||||
),
|
||||
@ -1493,6 +1494,7 @@ class TestUserPreferencesUpdate(ApiTestCaseMixin):
|
||||
assert data['status'] == 'success'
|
||||
assert data['message'] == 'user preferences updated'
|
||||
assert data['data']['display_ascent'] is False
|
||||
assert data['data']['start_elevation_at_zero'] is False
|
||||
assert data['data']['imperial_units'] is True
|
||||
assert data['data']['language'] == expected_language
|
||||
assert data['data']['timezone'] == 'America/New_York'
|
||||
|
@ -869,6 +869,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
|
||||
4,
|
||||
6
|
||||
],
|
||||
"start_elevation_at_zero": true,
|
||||
"timezone": "Europe/Paris",
|
||||
"total_distance": 67.895,
|
||||
"total_duration": "6:50:27",
|
||||
@ -883,9 +884,9 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
|
||||
:<json boolean display_ascent: display highest ascent records and total
|
||||
:<json boolean imperial_units: display distance in imperial units
|
||||
:<json string language: language preferences
|
||||
:<json boolean start_elevation_at_zero: do elevation plots start at zero?
|
||||
:<json string timezone: user time zone
|
||||
:<json boolean weekm: does week start on Monday?
|
||||
:<json boolean weekm: does week start on Monday?
|
||||
|
||||
:reqheader Authorization: OAuth 2.0 Bearer Token
|
||||
|
||||
@ -906,6 +907,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
|
||||
'display_ascent',
|
||||
'imperial_units',
|
||||
'language',
|
||||
'start_elevation_at_zero',
|
||||
'timezone',
|
||||
'weekm',
|
||||
}
|
||||
@ -916,6 +918,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
|
||||
display_ascent = post_data.get('display_ascent')
|
||||
imperial_units = post_data.get('imperial_units')
|
||||
language = get_language(post_data.get('language'))
|
||||
start_elevation_at_zero = post_data.get('start_elevation_at_zero')
|
||||
timezone = post_data.get('timezone')
|
||||
weekm = post_data.get('weekm')
|
||||
|
||||
@ -924,6 +927,7 @@ def edit_user_preferences(auth_user: User) -> Union[Dict, HttpResponse]:
|
||||
auth_user.display_ascent = display_ascent
|
||||
auth_user.imperial_units = imperial_units
|
||||
auth_user.language = language
|
||||
auth_user.start_elevation_at_zero = start_elevation_at_zero
|
||||
auth_user.timezone = timezone
|
||||
auth_user.weekm = weekm
|
||||
db.session.commit()
|
||||
|
@ -59,6 +59,9 @@ class User(BaseModel):
|
||||
confirmation_token = db.Column(db.String(255), nullable=True)
|
||||
display_ascent = db.Column(db.Boolean, default=True, nullable=False)
|
||||
accepted_policy_date = db.Column(db.DateTime, nullable=True)
|
||||
start_elevation_at_zero = db.Column(
|
||||
db.Boolean, default=True, nullable=False
|
||||
)
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return f'<User {self.username!r}>'
|
||||
@ -211,6 +214,7 @@ class User(BaseModel):
|
||||
'display_ascent': self.display_ascent,
|
||||
'imperial_units': self.imperial_units,
|
||||
'language': self.language,
|
||||
'start_elevation_at_zero': self.start_elevation_at_zero,
|
||||
'timezone': self.timezone,
|
||||
'weekm': self.weekm,
|
||||
},
|
||||
|
@ -69,7 +69,7 @@ class VisualCrossing(BaseWeather):
|
||||
self.api_key, '*****'
|
||||
)
|
||||
)
|
||||
r = requests.get(url, params=self.params)
|
||||
r = requests.get(url, params=self.params, timeout=10)
|
||||
r.raise_for_status()
|
||||
res = r.json()
|
||||
weather = res['currentConditions']
|
||||
|
@ -853,7 +853,7 @@ def get_map_tile(s: str, z: str, x: str, y: str) -> Tuple[Response, int]:
|
||||
y=secure_filename(y),
|
||||
)
|
||||
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:88.0)'}
|
||||
response = requests.get(url, headers=headers)
|
||||
response = requests.get(url, headers=headers, timeout=30)
|
||||
return (
|
||||
Response(
|
||||
response.content,
|
||||
|
Reference in New Issue
Block a user