sajjad 3 years ago
parent 6de0e23fd0
commit 0a12de97c7

@ -3,7 +3,6 @@ import url from "@/router/url"
import { getJson } from "../resources/statisticResource"; import { getJson } from "../resources/statisticResource";
export default class StatisticRepository { export default class StatisticRepository {
async indexAdmin() { async indexAdmin() {
console.log('s');
let response = await axios.get(url("indexAdmin")); let response = await axios.get(url("indexAdmin"));
if (response.status === 200) { if (response.status === 200) {
return getJson(response.data.data) return getJson(response.data.data)

@ -12,10 +12,10 @@ export const getJson = (data) => ({
video_link: data.video_link, video_link: data.video_link,
purchase_link: data.purchase_link, purchase_link: data.purchase_link,
price_unit: data.price, price_unit: data.price,
price: `${data.price.replace('$', '')}`, price: `${data.price?.replace('$', '')}`,
weight_unit: data.weight, weight_unit: data.weight,
weight: `${data.weight.replace('kg', '')}`, weight: `${data.weight?.replace('kg', '')}`,
dimensions_unit: `${data.dimensions.replace('cm', '')}`, dimensions_unit: `${data.dimensions?.replace('cm', '')}`,
dimensions: data.dimensions, dimensions: data.dimensions,
product_category: data.product_category, product_category: data.product_category,
product_categories_id: data.product_category?.parent?.id, product_categories_id: data.product_category?.parent?.id,
@ -23,7 +23,6 @@ export const getJson = (data) => ({
}); });
export const setData = (data) => { export const setData = (data) => {
console.log(data);
let formData = { let formData = {
product_category_id: data.product_category_id, product_category_id: data.product_category_id,
title: data.title, title: data.title,

@ -22,7 +22,6 @@ export const getJson = (data) => ({
roles: data.roles roles: data.roles
}); });
export const setData = (data, isUpdate = false) => { export const setData = (data, isUpdate = false) => {
console.log(data);
let formData = { let formData = {
first_name: data.first_name, first_name: data.first_name,
last_name: data.last_name, last_name: data.last_name,

@ -2,10 +2,10 @@ import { SetPagination, SetQueriesObject } from "@/utils/setQueriesObject";
export const getJson = (data) => { export const getJson = (data) => {
let role_id = null; let role_id = null;
data.roles.map(x => role_id = x.id); data.roles.map(x => role_id = x.id);
let type = ''; let role = '';
let roles = data.roles.map(x => x.name); let roles = data.roles.map(x => x.name);
roles.includes('manager') ? type = "admin" : roles.includes("trainer") && !roles.includes('manager') ? type = 'trainer' : "trainee" roles.includes('manager') ? role = "admin" : roles.includes("trainer") && !roles.includes('manager') ? role = 'trainer' : "trainee"
!data.roles.length ? type = "trainee" : false; !data.roles.length ? role = "trainee" : false;
return ({ return ({
id: data.id, id: data.id,
first_name: data.first_name, first_name: data.first_name,
@ -20,8 +20,8 @@ export const getJson = (data) => {
address: data.address, address: data.address,
email: data.email, email: data.email,
cell_number: data.cell_number, cell_number: data.cell_number,
type: type, role: role,
role: data.roles, roles: data.roles,
role_id: role_id, role_id: role_id,
created_courses_count: data.created_courses_count, created_courses_count: data.created_courses_count,
joined_courses_count: data.joined_courses_count joined_courses_count: data.joined_courses_count

@ -2,9 +2,9 @@
<div class="h-100"> <div class="h-100">
<main-back height="100%"> <main-back height="100%">
<!-- admin role --> <!-- admin role -->
<div class="px-16 pb-10" v-if="type === 'admin'"> <div class="px-16 pb-10" v-if="role === 'admin'">
<div class="mt-11"> <div class="mt-11">
<div class="d-flex justify-center"><UserName :role="type" /></div> <div class="d-flex justify-center"><UserName :role="role" /></div>
</div> </div>
<v-row class="mt-3"> <v-row class="mt-3">
<v-col cols="12"> <v-col cols="12">
@ -71,9 +71,9 @@
</div> </div>
<!-- /admin role --> <!-- /admin role -->
<!-- trainer role --> <!-- trainer role -->
<div class="px-16 pb-10" v-if="type === 'trainer'"> <div class="px-16 pb-10" v-if="role === 'trainer'">
<div class="mt-11"> <div class="mt-11">
<div class="d-flex justify-center"><UserName :role="type" /></div> <div class="d-flex justify-center"><UserName :role="role" /></div>
</div> </div>
<v-row class="mt-3"> <v-row class="mt-3">
<v-col cols="12"> <v-col cols="12">
@ -133,9 +133,9 @@
</div> </div>
<!-- /trainer role --> <!-- /trainer role -->
<!-- trainee role --> <!-- trainee role -->
<div class="px-16 pb-10" v-if="type === 'trainee'"> <div class="px-16 pb-10" v-if="role === 'trainee'">
<div class="mt-11"> <div class="mt-11">
<div class="d-flex justify-center"><UserName :role="type" /></div> <div class="d-flex justify-center"><UserName :role="role" /></div>
</div> </div>
<v-row class="mt-3"> <v-row class="mt-3">
<v-col cols="12"> <v-col cols="12">
@ -211,18 +211,18 @@ export default {
Notification, Notification,
}, },
data: () => ({ data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null, role: UserStorage.getRole() ? UserStorage.getRole() : null,
statistics: {}, statistics: {},
}), }),
methods: { methods: {
async loadStatistic() { async loadStatistic() {
let repository = new StatisticRepository(); let repository = new StatisticRepository();
this.statistics = this.statistics =
this.type === "admin" this.role === "admin"
? await repository.indexAdmin() ? await repository.indexAdmin()
: this.type === "trainer" : this.role === "trainer"
? await repository.indexTrainer() ? await repository.indexTrainer()
: this.type === "trainee" : this.role === "trainee"
? await repository.indexTrainee() ? await repository.indexTrainee()
: false; : false;
}, },

@ -3,7 +3,7 @@
<main-back height="100%"> <main-back height="100%">
<div class="mt-16"> <div class="mt-16">
<ul class="pl-0 ml-0"> <ul class="pl-0 ml-0">
<template v-if="type === 'admin'"> <template v-if="role === 'admin'">
<MenuItem <MenuItem
v-for="item in sideBar" v-for="item in sideBar"
:key="item.id" :key="item.id"
@ -12,7 +12,7 @@
:link="item.link" :link="item.link"
/> />
</template> </template>
<template v-if="type === 'trainee'"> <template v-if="role === 'trainee'">
<MenuItem <MenuItem
v-for="item in sideBar" v-for="item in sideBar"
:key="item.id" :key="item.id"
@ -21,7 +21,7 @@
:link="item.link" :link="item.link"
/> />
</template> </template>
<template v-if="type === 'trainer'"> <template v-if="role === 'trainer'">
<MenuItem <MenuItem
v-for="item in sideBar" v-for="item in sideBar"
:key="item.id" :key="item.id"
@ -43,12 +43,12 @@ export default {
MenuItem, MenuItem,
}, },
data: () => ({ data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null, role: UserStorage.get() ? UserStorage.get().role : null,
}), }),
computed: { computed: {
sideBar() { sideBar() {
var menuItems = []; var menuItems = [];
this.type === "admin" this.role === "admin"
? (menuItems = [ ? (menuItems = [
{ {
id: 1, id: 1,
@ -75,8 +75,8 @@ export default {
active: active:
this.$route.name === "programs" || this.$route.name === "programs" ||
this.$route.name === "addProgram" || this.$route.name === "addProgram" ||
this.$route.name === "editProgram" ||
this.$route.name === "programSeries" || this.$route.name === "programSeries" ||
this.$route.name === "addProgram" ||
this.$route.name === "workoutsSeries", this.$route.name === "workoutsSeries",
}, },
{ {
@ -90,17 +90,19 @@ export default {
text: "products", text: "products",
link: "products", link: "products",
active: active:
this.$route.name === "products" || this.$route.name === "addProduct", this.$route.name === "products" ||
this.$route.name === "addProduct" ||
this.$route.name === "editProduct",
}, },
{ {
id: 7, id: 7,
text: "workouts", text: "workouts",
link: "workouts", link: "workouts",
active: active:
this.$route.name === "workouts" || this.$route.name === "addWorkout", this.$route.name === "workouts" || this.$route.name === "addWorkout"|| this.$route.name === "editWorkout"
}, },
]) ])
: this.type === "trainer" : this.role === "trainer"
? (menuItems = [ ? (menuItems = [
{ {
id: 1, id: 1,
@ -118,7 +120,10 @@ export default {
id: 3, id: 3,
text: "my programs", text: "my programs",
link: "programs", link: "programs",
active: this.$route.name === "programs", active:
this.$route.name === "programs" ||
this.$route.name === "addProgram" ||
this.$route.name === "editProgram",
}, },
{ {
id: 4, id: 4,
@ -159,7 +164,6 @@ export default {
active: this.$route.name === "bookmarks", active: this.$route.name === "bookmarks",
}, },
]); ]);
console.log(this.$route.name);
return menuItems; return menuItems;
}, },
}, },

@ -300,7 +300,6 @@ export default {
async load() { async load() {
await this.loadProduct(this.productId); await this.loadProduct(this.productId);
this.form = this.getProduct; this.form = this.getProduct;
console.log(this.form.tags);
this.form["batch_id"] = RANDOM_TOKEN; this.form["batch_id"] = RANDOM_TOKEN;
// this.changeProductCategories(); // this.changeProductCategories();
}, },

@ -20,6 +20,7 @@
label="manager image" label="manager image"
:url.sync="form.thumbnail" :url.sync="form.thumbnail"
v-model="fileForm" v-model="fileForm"
:stencilProps="{ aspectRatio: 1280 / 720, checkImageOrigin: false }"
/> />
</div> </div>
</div> </div>

@ -1,19 +1,19 @@
<template> <template>
<div> <div>
<div class="wa__program__images"> <div class="wa__program__images">
<div <!-- <div
class="wa__program__image" class="wa__program__image"
:style="{ :style="{
backgroundImage: `url('${ backgroundImage: `url('${
program.thumbnail ? program.thumbnail : `http://via.placeholder.com/200` program.thumbnail ? program.thumbnail : `http://via.placeholder.com/200`
}')`, }')`,
}" }"
></div> ></div> -->
<!-- <img <img
:src="program.thumbnail ? program.thumbnail : `http://via.placeholder.com/200`" class="w-100"
class="rounded offer__detail--image" :src="program.thumbnail ? program.thumbnail : 'https://via.placeholder.com/1280x720'"
alt="" alt="product image"
/> --> />
<div class="wa__program__image__button"> <div class="wa__program__image__button">
<div class="wa__program__image__button--icon"> <div class="wa__program__image__button--icon">
<RectangleButton <RectangleButton
@ -22,7 +22,7 @@
class="custom-btn ml-1" class="custom-btn ml-1"
height="32" height="32"
:icon="program.verified ? 'WMi-cancel' : 'WMi-ok'" :icon="program.verified ? 'WMi-cancel' : 'WMi-ok'"
v-if="type === 'admin'" v-if="role === 'admin'"
/> />
<router-link <router-link
class="text-decoration-none" class="text-decoration-none"
@ -87,7 +87,7 @@ import { UserStorage } from "@/utils/storage";
export default { export default {
data: () => ({ data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null, role: UserStorage.getRole() ? UserStorage.getRole() : null,
}), }),
props: { props: {
program: { program: {

@ -66,7 +66,7 @@ export default {
FiltersModal, FiltersModal,
}, },
data: () => ({ data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null, role: UserStorage.getRole() ? UserStorage.getRole() : null,
}), }),
computed: { computed: {
...mapGetters("programs", ["getPrograms", "getPaginationProgram", "getFilterCount"]), ...mapGetters("programs", ["getPrograms", "getPaginationProgram", "getFilterCount"]),
@ -77,11 +77,11 @@ export default {
changePagination(page) { changePagination(page) {
if (this.getPaginationProgram.page !== page) { if (this.getPaginationProgram.page !== page) {
this.SET_PAGINATION(page); this.SET_PAGINATION(page);
this.loadPrograms(); this.role === "admin" ? this.loadPrograms() : this.loadMyPrograms();
} }
}, },
async load() { async load() {
this.type === "admin" ? await this.loadPrograms() : await this.loadMyPrograms(); this.role === "admin" ? await this.loadPrograms() : await this.loadMyPrograms();
}, },
}, },
created() { created() {

@ -7,7 +7,7 @@
<div class="user__name wa__f__m__eb"> <div class="user__name wa__f__m__eb">
{{ user.first_name }} {{ user.last_name }} {{ user.first_name }} {{ user.last_name }}
</div> </div>
<small class="user__email" v-if="type === 'admin'">{{ user.email }}</small> <small class="user__email" v-if="role === 'admin'">{{ user.email }}</small>
</div> </div>
</div> </div>
</v-col> </v-col>
@ -16,20 +16,20 @@
<div class="user__role"> <div class="user__role">
<small>Role:</small> <small>Role:</small>
<div class="wa__f__m__eb text-uppercase"> <div class="wa__f__m__eb text-uppercase">
{{ user.type }} {{ user.role }}
</div> </div>
</div> </div>
</div> </div>
</v-col> </v-col>
<v-col cols="3"> <v-col cols="3">
<div class="d-flex align-center justify-center h-100"> <div class="d-flex align-center justify-center h-100">
<div v-if="user.type == 'trainer'" class="d-flex align-center"> <div v-if="user.role == 'trainer'" class="d-flex align-center">
<div class="user__program--quantity wa__f__m__eb mr-2"> <div class="user__program--quantity wa__f__m__eb mr-2">
{{ user.created_courses_count ? user.created_courses_count : "0" }} {{ user.created_courses_count ? user.created_courses_count : "0" }}
</div> </div>
<div class="user__program__text">program created</div> <div class="user__program__text">program created</div>
</div> </div>
<div v-else-if="user.type == 'trainee'" class="d-flex align-center"> <div v-else-if="user.role == 'trainee'" class="d-flex align-center">
<div class="user__program--quantity wa__f__m__eb mr-2"> <div class="user__program--quantity wa__f__m__eb mr-2">
{{ user.joined_courses_count ? user.joined_courses_count : "0" }} {{ user.joined_courses_count ? user.joined_courses_count : "0" }}
</div> </div>
@ -46,6 +46,7 @@
class="ml-1 custom-btn custom-icon" class="ml-1 custom-btn custom-icon"
icon="WMi-gold-medal" icon="WMi-gold-medal"
@click.native="chageRole" @click.native="chageRole"
v-if="role === 'admin'"
size="large" size="large"
/> />
<!-- <router-link :to="{ name: 'profile' }"> --> <!-- <router-link :to="{ name: 'profile' }"> -->
@ -82,7 +83,7 @@ export default {
}, },
}, },
data: () => ({ data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null, role: UserStorage.getRole() ? UserStorage.getRole() : null,
}), }),
methods: { methods: {
...mapActions("users", ["deleteUser"]), ...mapActions("users", ["deleteUser"]),

@ -57,7 +57,7 @@ export default {
FiltersModal, FiltersModal,
}, },
data: () => ({ data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null, role: UserStorage.getRole() ? UserStorage.getRole() : null,
id: null, id: null,
}), }),
computed: { computed: {
@ -79,7 +79,7 @@ export default {
} }
}, },
async load() { async load() {
this.type === "admin" ? await this.loadUsers() : await this.loadTrainerTrainee(); this.role === "admin" ? await this.loadUsers() : await this.loadTrainerTrainee();
}, },
userId(id) { userId(id) {
this.id = id; this.id = id;
@ -89,7 +89,7 @@ export default {
if (!this.$route.query.role_name) { if (!this.$route.query.role_name) {
this.load(); this.load();
} }
await this.laodRoles(); this.role === "admin" ? await this.laodRoles() : false;
this.getRoles.push({ id: 0, name: "trainee" }); this.getRoles.push({ id: 0, name: "trainee" });
}, },
}; };

@ -31,9 +31,7 @@
class="mb-3" class="mb-3"
v-for="(seriesWorkout, i) in getWorkouts" v-for="(seriesWorkout, i) in getWorkouts"
:key="i" :key="i"
><WorkoutsSeriesItem ><WorkoutsSeriesItem :seriesWorkout="seriesWorkout" :seriesId="seriesId"
:seriesWorkout="seriesWorkout"
:seriesId="seriesId"
/></v-col> /></v-col>
</v-row> </v-row>
</div> </div>

@ -184,13 +184,11 @@ export default {
...mapActions("workoutToSeries", ["loadWorkoutsToSeries", "addWorkoutToSeries"]), ...mapActions("workoutToSeries", ["loadWorkoutsToSeries", "addWorkoutToSeries"]),
...mapMutations("workoutToSeries", ["SET_FILTER_WORKOUTS_TO_SERIES"]), ...mapMutations("workoutToSeries", ["SET_FILTER_WORKOUTS_TO_SERIES"]),
openModal() { openModal() {
console.log("s");
}, },
async joinWorkout(id) { async joinWorkout(id) {
this.workoutId = id; this.workoutId = id;
let repository = new WorkoutToSeriesRepository(); let repository = new WorkoutToSeriesRepository();
this.selectedWorkout = await repository.show(this.workoutId); this.selectedWorkout = await repository.show(this.workoutId);
console.log(this.selectedWorkout);
}, },
async WorkoutToSeries() { async WorkoutToSeries() {
if (this.workoutId) { if (this.workoutId) {

@ -72,7 +72,7 @@ function beforeLoad() {
return next('/'); return next('/');
} }
if (loggedIn && roles && Array.isArray(roles)) { if (loggedIn && roles && Array.isArray(roles)) {
const ownType = UserStorage.get() ? UserStorage.get().type : ''; const ownType = UserStorage.get() ? UserStorage.get().role : '';
if (!roles.includes(ownType)) { if (!roles.includes(ownType)) {
router.push({ name: 'dashboard' }); router.push({ name: 'dashboard' });
} }

@ -97,8 +97,8 @@ export default [
}, },
{ {
path: '/trains-programs', path: '/trains-programs',
view: 'TrainsPrograms', view: 'TraineePrograms',
name: 'trainsPrograms', name: 'traineePrograms',
}, },
{ {

@ -12,7 +12,6 @@ const TokenStorage = {
getToken() { getToken() {
return localStorage.getItem(TOKEN_KEY); return localStorage.getItem(TOKEN_KEY);
}, },
saveToken(accessToken = null) { saveToken(accessToken = null) {
localStorage.setItem(TOKEN_KEY, accessToken); localStorage.setItem(TOKEN_KEY, accessToken);
}, },
@ -33,12 +32,13 @@ const UserStorage = {
} }
return null; return null;
}, },
getRole() {
return this.get().role;
},
save(user = null) { save(user = null) {
user = qs.stringify(user); user = qs.stringify(user);
localStorage.setItem(USER, user); localStorage.setItem(USER, user);
}, },
remove() { remove() {
localStorage.removeItem(USER); localStorage.removeItem(USER);
}, },

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import AddProductHome from "../components/AddProduct/Main"; import AddProductHome from "../components/Products/Add";
export default { export default {
components: { components: {
AddProductHome, AddProductHome,

@ -14,7 +14,7 @@
<SideBar /> <SideBar />
</v-col> </v-col>
<v-col cols="10"> <v-col cols="10">
<AddProgram /> <AddProgramHome />
</v-col> </v-col>
</v-row> </v-row>
</div> </div>
@ -22,10 +22,10 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import AddProgram from "../components/AddProgram/Main"; import AddProgramHome from "../components/Programs/Add";
export default { export default {
components: { components: {
AddProgram, AddProgramHome,
}, },
}; };
</script> </script>

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import AddWorkoutHome from "../components/AddWorkout/Main"; import AddWorkoutHome from "../components/Workouts/Add";
export default { export default {
components: { components: {
AddWorkoutHome, AddWorkoutHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import BookmarksHome from "../components/Bookmarks/Main"; import BookmarksHome from "../components/Bookmarks/Items";
export default { export default {
components: { components: {
BookmarksHome, BookmarksHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import ProductsHome from "../components/Products/Main"; import ProductsHome from "../components/Products/Items";
export default { export default {
components: { components: {
ProductsHome, ProductsHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import ProfileHome from "../components/Profile/Main"; import ProfileHome from "../components/Profile/Profile";
export default { export default {
components: { components: {
ProfileHome, ProfileHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import ProgramSeriesHome from "../components/ProgramSeries/Main"; import ProgramSeriesHome from "../components/ProgramSeries/Items";
export default { export default {
components: { components: {
ProgramSeriesHome, ProgramSeriesHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import ProgramsHome from "../components/Programs/Main"; import ProgramsHome from "../components/Programs/Items";
export default { export default {
components: { components: {
ProgramsHome, ProgramsHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import TrainProgramsHome from "../components/TrainPrograms/Main"; import TrainProgramsHome from "../components/TraineePrograms/Items";
export default { export default {
components: { components: {
TrainProgramsHome, TrainProgramsHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import ProfileHome from "../components/Profile/Trainer"; import ProfileHome from "../components/Profile/TrainerProfile";
export default { export default {
components: { components: {
ProfileHome, ProfileHome,

@ -23,7 +23,7 @@
</template> </template>
<script> <script>
import { mapState } from 'vuex'; import { mapState } from 'vuex';
import UsersHome from "../components/Users/Main"; import UsersHome from "../components/Users/Items";
export default { export default {
components: { components: {
UsersHome, UsersHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import WorkoutsHome from "../components/Workouts/Main"; import WorkoutsHome from "../components/Workouts/Items";
export default { export default {
components: { components: {
WorkoutsHome, WorkoutsHome,

@ -22,7 +22,7 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import WorkoutsSeriesHome from "../components/WorkoutsSeries/Main"; import WorkoutsSeriesHome from "../components/WorkoutsSeries/Items";
export default { export default {
components: { components: {
WorkoutsSeriesHome, WorkoutsSeriesHome,

Loading…
Cancel
Save