merve to dev

staging
aliqasemi 4 years ago
commit 66d8adb2d1

2
.gitignore vendored

@ -16,7 +16,7 @@ app/storage/
storage/
storage/framework
# Laravel 5 & Lumen specific
public/storage
public/hot

2
.idea/.gitignore vendored

@ -1,2 +0,0 @@
# Default ignored files
/workspace.xml

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ComposerJsonPluginSettings">
<unboundedVersionInspectionSettings>
<excludedPackages />
</unboundedVersionInspectionSettings>
<customRepositories />
<composerUpdateOptions />
</component>
</project>

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData">
<serverData>
<paths name="WillaMall">
<serverdata>
<mappings>
<mapping local="$PROJECT_DIR$" web="/" />
</mappings>
</serverdata>
</paths>
</serverData>
</component>
</project>

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/willamall-admin.iml" filepath="$PROJECT_DIR$/.idea/willamall-admin.iml" />
</modules>
</component>
</project>

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Symfony2PluginSettings">
<option name="directoryToWeb" value="public" />
<option name="pluginEnabled" value="true" />
<option name="lastServiceGeneratorLanguage" value="yaml" />
</component>
</project>

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WebServers">
<option name="servers">
<webServer id="f6ac663e-c068-4195-a048-8e13368c7d6f" name="WillaMall" url="http://willamall.com">
<fileTransfer host="willamall.com" port="21">
<advancedOptions>
<advancedOptions dataProtectionLevel="Private" passiveMode="true" shareSSLContext="true" />
</advancedOptions>
<option name="port" value="21" />
</fileTransfer>
</webServer>
</option>
</component>
</project>

@ -1,146 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/modules" isTestSource="false" packagePrefix="Modules\" />
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tests\" />
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/vendor/aws/aws-sdk-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/coraxster/flysystem-aws-s3-v3-minio" />
<excludeFolder url="file://$MODULE_DIR$/vendor/defuse/php-encryption" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dnoegel/php-xdg-base-dir" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/annotations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dragonmantank/cron-expression" />
<excludeFolder url="file://$MODULE_DIR$/vendor/egulias/email-validator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/facade/flare-client-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/facade/ignition" />
<excludeFolder url="file://$MODULE_DIR$/vendor/facade/ignition-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/fideloper/proxy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/filp/whoops" />
<excludeFolder url="file://$MODULE_DIR$/vendor/firebase/php-jwt" />
<excludeFolder url="file://$MODULE_DIR$/vendor/fzaninotto/faker" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
<excludeFolder url="file://$MODULE_DIR$/vendor/hamcrest/hamcrest-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/intervention/image" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-color" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/kalnoy/nestedset" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/passport" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/tinker" />
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/jwt" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/commonmark" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/event" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/flysystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/glide" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/mime-type-detection" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/oauth2-server" />
<excludeFolder url="file://$MODULE_DIR$/vendor/maatwebsite/excel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/maennchen/zipstream-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/markbaker/complex" />
<excludeFolder url="file://$MODULE_DIR$/vendor/markbaker/matrix" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mockery/mockery" />
<excludeFolder url="file://$MODULE_DIR$/vendor/monolog/monolog" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mtdowling/jmespath.php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/php-enum" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nesbot/carbon" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nikic/php-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nunomaduro/collision" />
<excludeFolder url="file://$MODULE_DIR$/vendor/opis/closure" />
<excludeFolder url="file://$MODULE_DIR$/vendor/org_heigl/ghostscript" />
<excludeFolder url="file://$MODULE_DIR$/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpoffice/phpspreadsheet" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpoption/phpoption" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpseclib/phpseclib" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-factory" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-message" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psy/psysh" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ralouphie/getallheaders" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ramsey/uuid" />
<excludeFolder url="file://$MODULE_DIR$/vendor/scrivo/highlight.php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/resource-operations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/type" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/image" />
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/image-optimizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/laravel-medialibrary" />
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/pdf-to-image" />
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/temporary-directory" />
<excludeFolder url="file://$MODULE_DIR$/vendor/swiftmailer/swiftmailer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-foundation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-kernel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mime" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-iconv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-idn" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-normalizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php70" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php72" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php73" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php80" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/psr-http-message-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
<excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/tijsverkoyen/css-to-inline-styles" />
<excludeFolder url="file://$MODULE_DIR$/vendor/vlucas/phpdotenv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
<excludeFolder url="file://$MODULE_DIR$/vendor/wm/finance" />
<excludeFolder url="file://$MODULE_DIR$/vendor/wm/product" />
<excludeFolder url="file://$MODULE_DIR$/vendor/wm/service" />
<excludeFolder url="file://$MODULE_DIR$/vendor/wm/store" />
<excludeFolder url="file://$MODULE_DIR$/vendor/wm/warehouse" />
<excludeFolder url="file://$MODULE_DIR$/vendor/wm/webbuilder" />
<excludeFolder url="file://$MODULE_DIR$/vendor/zendframework/zend-diactoros" />
<excludeFolder url="file://$MODULE_DIR$/vendor/zircote/swagger-php" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

BIN
.rnd

Binary file not shown.

@ -19,6 +19,7 @@ class Kernel extends HttpKernel
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\FindLanguage::class,
];
/**

@ -0,0 +1,24 @@
<?php
namespace App\Http\Middleware;
use Closure;
use WM\Core\Infrastructures\Enumerations\Language;
class FindLanguage
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($language = $request->header('accept-language')) {
app()->setLocale($language);
}
return $next($request);
}
}

@ -3,6 +3,7 @@
namespace App\Providers;
use App\Services\MorphModelFinder;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
@ -15,6 +16,7 @@ class AppServiceProvider extends ServiceProvider
public function boot()
{
app(MorphModelFinder::class)->map();
Schema::defaultStringLength(191);
}
/**

@ -12,9 +12,16 @@
"coraxster/flysystem-aws-s3-v3-minio": "^1.0",
"fideloper/proxy": "^4.0",
"kalnoy/nestedset": "^5.0",
<<<<<<< HEAD
"laravel/framework": "^8.0",
"laravel/passport": "^10",
"laravel/tinker": "^2.0",
=======
"laravel/framework": "^6.2",
"laravel/passport": "^7.3",
"laravel/tinker": "^1.0",
"lcobucci/jwt": "3.3.3",
>>>>>>> dev
"maatwebsite/excel": "^3.1",
"spatie/laravel-medialibrary": "^8.0.0",
"wm/blog": "dev-master",

1723
composer.lock generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateCacheTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('cache', function (Blueprint $table) {
$table->string('key')->unique();
$table->mediumText('value');
$table->integer('expiration');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('cache');
}
}

@ -1,18 +0,0 @@
<?php
use Illuminate\Database\Seeder;
class CrmCategoriesSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(WM\CRM\Models\Category::class, 50)->create()->each(function ($category) {
});
}
}

@ -11,7 +11,15 @@ class DatabaseSeeder extends Seeder
*/
public function run()
{
// $this->call(ModuleSeeder::class);
$this->call(UserSeeder::class);
$this->call(BusinessSeeder::class);
$this->call(CategorySeeder::class);
$this->call(CitySeeder::class);
$this->call(DistrictSeeder::class);
$this->call(DomainSeeder::class);
$this->call(HelpSeeder::class);
$this->call(ModuleSeeder::class);
$this->call(PermissionCategorySeeder::class);
$this->call(RoleSeeder::class);
}
}

6
package-lock.json generated

@ -12248,9 +12248,9 @@
}
},
"vuetify": {
"version": "2.1.15",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.1.15.tgz",
"integrity": "sha512-M35NJvlzkbCpFfsK08xraNvCpiNCIbYUXI/hkzjWHQV1MFIZnjrDTVtYoiudCyJ52zlrhWezAr4pzFOCLAr6RA=="
"version": "2.3.17",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.17.tgz",
"integrity": "sha512-XqVDsCKHcWmJDJaSXEYg8Qt1jFdAhgm/L5ppAo19ATyld181lu0BC3V3vjakpU2uScHVwjxZw8Gre0lz+2cGvA=="
},
"vuex": {
"version": "3.1.2",

@ -56,7 +56,7 @@
"vue-the-mask": "^0.11.1",
"vue-tinymce-editor": "^1.6.2",
"vue2-dropzone": "^3.6.0",
"vuetify": "^2.0.19"
"vuetify": "^2.3.17"
},
"devDependencies": {
"@babel/plugin-syntax-dynamic-import": "^7.2.0",

@ -1,8 +1,8 @@
<template>
<div class="info-block" :class='direction'>
<div class="Label"><v-icon v-if="icon">WMi-{{icon}}</v-icon> {{ label }} </div>
<div v-if="value" class="Value" :class='valueClass' v-html="value"></div>
<div v-if="secondValue" class="second-value" v-html="secondValue"></div>
<pre v-if="value" class="Value" :class='valueClass' v-html="value"></pre>
<pre v-if="secondValue" class="second-value" v-html="secondValue"></pre>
<a v-if="link" :href="link" class="link WM-Link">دانلود فایل </a>
</div>
</template>

@ -81,6 +81,7 @@ export default {
titleFa: " مدیریت محصولات ",
icon: "dropbox",
permissionClass: "Product::index",
module: "core",
href: '/product/home',
tileClass: 'cyan-theme',
},
@ -216,4 +217,7 @@ export default {
.drawer.open {
left: 0px;
}
.v-application .caption {
font-family: iranyekan-regular!important;
}
</style>

@ -1,30 +1,24 @@
<template>
<v-dialog v-model="modal" :width="width" :transition="transition">
<component v-if="modal" :is="name" />
<v-dialog v-model="modal" :max-width="maxWidth" :width="width" :transition="transition">
<slot :modal="modal" :data="data" v-if="modal" ></slot>
</v-dialog>
</template>
<script>
import {mapGetters} from "vuex";
export default {
props: {
width:{default: '60%'},
name:{default: ''},
width:{default: null},
maxWidth:{default: null},
name:{default: null},
transition:{default: 'slide-x-transition'},
},
data:() => ({
}),
components:{
'modal_task_list': () => '@Common/components/Task/Timeline/Modal-Layout.vue',
'modal_task_add': () => '@Common/components/Task/AddEdit/Modal-Add.vue'
},
computed: {
...mapGetters("modal", ["isModal"]),
...mapGetters("modal", ["isModal", "getModal"]),
modal: {
get() {
return this.isModal(this.name);
return this.isModal(this.modalName);
},
set(value) {
if (!value) {
@ -32,6 +26,12 @@
}
}
},
modalName() {
return this.name ? this.name : this.$parent.$options.name;
},
data() {
return this.getModal(this.modalName);
}
},
}

@ -1,5 +1,5 @@
<template>
<v-dialog v-model="modal" width="40%" transition="slide-x-transition">
<basic-modal width="40%" transition="slide-x-transition">
<v-card class="RTL">
<v-card-title class="red lighten-5" primary-title>
<WM-PartTitle
@ -38,11 +38,11 @@
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</basic-modal>
</template>
<script>
import { mapActions, mapGetters } from "vuex";
import { mapGetters } from "vuex";
export default {
name: "modal_modal_dialog",
data: () => ({
@ -77,17 +77,7 @@ export default {
}
},
computed: {
...mapGetters("modal", ["isModal", "getModal", "getDialogType", "getDialogProperties"]),
modal: {
get() {
return this.isModal(this.$options.name);
},
set(value) {
if (!value) {
this.$_closeModal();
}
}
},
...mapGetters("modal", ["getDialogType", "getDialogProperties"]),
},
methods: {
async confirm() {

@ -1,5 +1,5 @@
<template>
<v-dialog v-model="modal" :width="properties.properties && properties.properties.width ? properties.properties.width : '60%'" transition="slide-x-transition">
<basic-modal :width="properties.properties && properties.properties.width ? properties.properties.width : '60%'" transition="slide-x-transition">
<v-card class="RTL">
<v-card-title :class="[properties.properties && properties.properties.color ? properties.properties.color : 'blue', 'lighten-5']" primary-title>
<WM-PartTitle
@ -28,12 +28,11 @@
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</basic-modal>
</template>
<script>
import { mapActions, mapGetters } from "vuex";
import axios from 'axios';
import { mapGetters } from "vuex";
import { url } from '@Common/mixins/urls';
export default {
name: "modal_modal_helper",
@ -41,26 +40,14 @@ export default {
properties: {}
}),
computed: {
...mapGetters("modal", ["isModal", "getModal"]),
modal: {
get() {
return this.isModal(this.$options.name);
},
set(value) {
if (!value) {
this.$_closeModal();
}
}
},
...mapGetters("modal", ["getModal"]),
},
methods: {
async getDate() {
if (this.modal) {
let response = await axios.get(url('help', {help: this.getModal(this.$options.name).slug}));
if (response && response.status == 200) {
this.properties = response.data.data;
this.properties.properties = (response.data.data.properties) ? JSON.parse(response.data.data.properties) : null;
}
let response = await this.$axios.get(url('help', {help: this.getModal(this.$options.name).slug}));
if (response && response.status === 200) {
this.properties = response.data.data;
this.properties.properties = (response.data.data.properties) ? JSON.parse(response.data.data.properties) : null;
}
}
},

@ -41,10 +41,13 @@ export default class extends chart {
setOptions() {
switch (this.type) {
case 'weekly':
case 'cost-weekly':
return this.setWeekly();
case 'monthly':
case 'cost-monthly':
return this.setMonthly();
case 'daily':
case 'cost-daily':
return this.setDaily();
}
}
@ -61,7 +64,7 @@ export default class extends chart {
setDaily() {
this.options.series[0].data = this.responseChart.map(x => x.count);
this.options.xaxis.categories = this.responseChart.map(x => x.date);
this.options.xaxis.categories = this.responseChart.map(x => x.persian_date);
}

@ -1,5 +1,5 @@
import chart from "../chart";
import color from "@Global/utils/colors/index"
export default class extends chart {
constructor(options) {
@ -37,9 +37,11 @@ export default class extends chart {
setOptions() {
this.options.series = this.responseChart.map(x => x.count);
this.options.labels = this.responseChart.map(x => x.category);
this.options.fill.labels = this.responseChart.map(x => x.category);
// this.options.labels = this.responseChart.map(x => x.category.name);
// this.options.fill.label = this.responseChart.map(x => x.category.name);
// this.options['colors'] = this.responseChart.map( x => x.category.color ? x.category.color : "#fff");
this.options.labels = this.responseChart.map(x => x.category.name);
this.options.fill.label = this.responseChart.map(x => x.category.name);
this.options['colors'] = this.responseChart.map( x =>{
let colorText = x.category.color ? x.category.color : color[parseInt((Math.random() * 100) % 14)].color;
return color.find(x => x.color == colorText).hex;
} );
}
}

@ -24,6 +24,9 @@ Vue.component("section-title", SectionTitle);
import SectionTitleVertical from "@Global/components/Dividers/SectionTitle-Vertical.vue";
Vue.component("section-title-vertical", SectionTitleVertical);
import BasicModal from "@Global/components/Modals/BasicModal";
Vue.component("basic-modal", BasicModal);
import Breadcrumbs from "@Global/components/Misc/Breadcrumbs";
import Dialog from "@Global/components/Modals/Dialog.vue";
import Helper from "@Global/components/Modals/Helper.vue";

@ -9,7 +9,7 @@ const ApiService = {
} else if (process.env.MIX_PUSHER_APP_API) {
axios.defaults.baseURL = process.env.MIX_PUSHER_APP_API;
}
this.setHeader();
axios.interceptors.request.use((config) => {
config.headers = this.setModuleHeader(config.headers);
return config;
@ -17,10 +17,9 @@ const ApiService = {
},
setHeader() {
axios.defaults.headers.common["Accept"] = `application/json`;
axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
axios.defaults.headers.common["Accept-Language"] = `fa`;
},
setModuleHeader(headers = axios.defaults.headers.common) {
headers['Module'] = commonState.current_module;
return headers;

@ -1,17 +1,17 @@
export default [
{ name: 'قرمز', color:'red'},
{ name: 'نارنجی', color:'orange'},
{ name: 'زرد', color:'yellow'},
{ name: 'صورتی', color:'pink'},
{ name: 'طلایی', color:'gold'},
{ name: 'بنفش', color:'purple'},
{ name: 'آبی', color:'blue'},
{ name: 'آبی تیره', color:'dark-blue'},
{ name: 'سبز', color:'green'},
{ name: 'سبز پاستیلی', color:'teal'},
{ name: 'فیروزه ای', color:'cyan'},
{ name: 'قهوه ای', color:'brown'},
{ name: 'خاکستری', color:'gray'},
{ name: 'مشکی', color:'black'},
{ name: 'سفید', color:'white'},
{ name: 'قرمز', color:'red', hex: '#ee3552'},
{ name: 'نارنجی', color:'orange', hex: '#ff6b57'},
{ name: 'زرد', color:'yellow', hex: '#ffc107'},
{ name: 'صورتی', color:'pink', hex: '#e94c8f'},
{ name: 'طلایی', color:'gold', hex: '#ddcfbb'},
{ name: 'بنفش', color:'purple', hex: '#ac3773'},
{ name: 'آبی', color:'blue', hex: '#1875BB'},
{ name: 'آبی تیره', color:'dark-blue', hex: '#04314B'},
{ name: 'سبز', color:'green', hex: '#0d7e00'},
{ name: 'سبز پاستیلی', color:'teal', hex: '#00897b'},
{ name: 'فیروزه ای', color:'cyan', hex: '#32c5d2'},
{ name: 'قهوه ای', color:'brown', hex: '#915117'},
{ name: 'خاکستری', color:'gray', hex: '#828282'},
{ name: 'مشکی', color:'black', hex: '#000'},
{ name: 'سفید', color:'white', hex: '#fff'},
];

@ -3,14 +3,14 @@
<div id="app" class="we-dark">
<wm-background C1="fff" C2="f1f1f1" C3="fff"/>
<app-menu/>
<v-content>
<v-main>
<v-container fluid class="Login">
<div class="Tile">
<router-view/>
<!-- <wm-tiles-layout></wm-tiles-layout> -->
</div>
</v-container>
</v-content>
</v-main>
</div>
</v-app>
</template>

@ -38,7 +38,7 @@
</v-dialog>
</template>
<script>
import { mapGetters, mapActions, mapMutations } from "vuex";
import { mapGetters, mapMutations } from "vuex";
export default {
name: "modal_rolePermission_paymentConfirm",
data() {
@ -60,20 +60,9 @@ export default {
}
},
computed: {
...mapGetters("modal", ["isModal", "getModal"]),
...mapGetters([
'getModuleState'
]),
modal: {
get() {
return this.isModal(this.$options.name);
},
set(value) {
if (!value) {
this.$_closeModal();
}
}
},
},
methods: {
...mapMutations([

@ -57,9 +57,9 @@ export default {
},
methods: {
async register() {
if (this.modal && this.getModal(this.$options.name).model) {
if (this.getModal(this.$options.name) && this.getModal(this.$options.name).model) {
let response = await this.actviveTrial(this.getModal(this.$options.name).model.id);
if (response.status == 200) {
if (response.status === 200) {
this.$_closeModal();
}
}
@ -67,17 +67,7 @@ export default {
...mapActions("rolePermission", ["actviveTrial"])
},
computed: {
...mapGetters("modal", ["isModal", "getModal"]),
modal: {
get() {
return this.isModal(this.$options.name);
},
set(value) {
if (!value) {
this.$_closeModal();
}
}
},
...mapGetters("modal", ["getModal"]),
expiredDate() {
var today = new Date();
return new Date(today.setDate(today.getDate() + 15));

@ -0,0 +1,42 @@
<?php
namespace Tests\Unit;
use Tests\TestCase ;
use WM\Core\Models\User;
class ArticleTest extends TestCase
{
/**
* A basic unit test example.
*
* @return void
*/
public function test_can_create_store(){
$test_data = [
'title' => "dfjfjdfmnjdf" ,
'abstract' => "jhljl" ,
'content' => "jhlgjleswgqaeaeaedhnjredhnjreswhnjreswnjrfnjresfnjres" ,
'verified' => false ,
'user_id' => 1 ,
'business_id' => 521 ,
'scheme' => "article" ,
'article_categories' => [] ,
] ;
$this->get('http://meshkee.local:8000/api/v1/articles' ,
['Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZiMDkwMzk1ODhjMzI0MzNkM2UzMmE3MTc4MzQwMmExNjZmNDI4YzcxZDQ0OTc3ZDc5OWI4YTU0MDJhMzY4MTBlNzdmZTJjMDYxOTYzYjRjIn0.eyJhdWQiOiIxIiwianRpIjoiZmIwOTAzOTU4OGMzMjQzM2QzZTMyYTcxNzgzNDAyYTE2NmY0MjhjNzFkNDQ5NzdkNzk5YjhhNTQwMmEzNjgxMGU3N2ZlMmMwNjE5NjNiNGMiLCJpYXQiOjE2MDI1OTgzNjMsIm5iZiI6MTYwMjU5ODM2MywiZXhwIjoxNjM0MTM0MzYzLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.J7u1RigLGddGLS2-0-WUx6Qfee4qm8gzu5U30CJ5kBJPzFKzCw9uht5OZAvg3I2OCM0b2pFo53cSCVybTA3NMwK_hnMunqo9CMBZB_P-GP3mwb_GZKpS7Urw-hXv8DOcT_JVAYps71MMGYJFv_LtSgUV25hPZrTCu28o09O2ydHZStKWTc4sysgzsBcLIi0B3DWgAdaeV7sen7oOeH39dnS-o1IrdaixfuJ3XpmYeBTqlKIv32uDf2RRvpPIbBn0Zha2T7EpVzLN8xq17dBEhjA25JWt6ssG4F8ZSzTBHe3MNBUU_H5n8fckOJfNCV4BVTuERTUdaz7eQIzsUUpbdff5ShV2Twx_lQcI0kufKYCX9_oO_Q24DxKJ4SPub3hil9onFh1zBOQHCe4kfkN6g_Rxh7CsDd7iTNuwgnFRBjziR3sX4YPD90zH6CXuZI2wy-dxg-VaKR-3AbPIVqKb-TCQQ4d6m26u_UK894R3NmkwQwPymG9WAc-0QaUUjzizgqEs-qW3u_k3gUFfNgGsbouBEaXCh1Qvf_myVixmwuVQOF6s8Czb8VxYkf51sANaIDTqmElH7cUrH5XIqtUH1TG3RRyHB_VwhwME08BozEMcSmXAP9W6FDx7TX3KAS75OEk-mJaIXgfags309CC9Dq11hXX2uBHX5SCCVrfq82U',
'module' => 'blog' ,
'Accept' => 'application/json' ,
]
)->assertStatus(200);
}
}

@ -1,19 +0,0 @@
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
$this->assertTrue(true);
}
}

1
webpack.mix.js vendored

@ -37,6 +37,7 @@ require('./modules/wm-product/webpack.mix');
require('./modules/wm-service/webpack.mix');
require('./modules/wm-store/webpack.mix');
require('./modules/wm-warehouse/webpack.mix');
// require('./modules/wm-web-builder/webpack.mix');
// require('./modules/wm-reservation/webpack.mix');
mix.version();

Loading…
Cancel
Save