Merge branch 'master' of gitlab.com:mohit.panjvani/crater-web

This commit is contained in:
Mohit Panjwani
2019-11-17 11:36:23 +05:30
11 changed files with 101 additions and 103 deletions

View File

@ -105,13 +105,6 @@ class CompanyController extends Controller
['key' => 'december-november', 'value' => '12-11'], ['key' => 'december-november', 'value' => '12-11'],
]; ];
$languages = [
"en" => "English",
"de" => "German",
"fr" => "French",
"es" => "Spanish"
];
$language = CompanySetting::getSetting('language', $request->header('company')); $language = CompanySetting::getSetting('language', $request->header('company'));
$carbon_date_format = CompanySetting::getSetting('carbon_date_format', $request->header('company')); $carbon_date_format = CompanySetting::getSetting('carbon_date_format', $request->header('company'));
$moment_date_format = CompanySetting::getSetting('moment_date_format', $request->header('company')); $moment_date_format = CompanySetting::getSetting('moment_date_format', $request->header('company'));
@ -121,7 +114,6 @@ class CompanyController extends Controller
$languages = [ $languages = [
["code"=>"en", "name" => "English"], ["code"=>"en", "name" => "English"],
["code"=>"de", "name" => "German"],
["code"=>"fr", "name" => "French"], ["code"=>"fr", "name" => "French"],
["code"=>"es", "name" => "Spanish"] ["code"=>"es", "name" => "Spanish"]
]; ];

View File

@ -55,6 +55,7 @@ class ItemsController extends Controller
if ($request->has('taxes')) { if ($request->has('taxes')) {
foreach ($request->taxes as $tax) { foreach ($request->taxes as $tax) {
$tax['company_id'] = $request->header('company');
$item->taxes()->create($tax); $item->taxes()->create($tax);
} }
} }
@ -75,12 +76,16 @@ class ItemsController extends Controller
$item->price = $request->price; $item->price = $request->price;
$item->save(); $item->save();
$oldTaxes = $item->taxes->toArray();
foreach ($oldTaxes as $oldTax) {
Tax::destroy($oldTax['id']);
}
if ($request->has('taxes')) { if ($request->has('taxes')) {
foreach ($request->taxes as $tax) { foreach ($request->taxes as $tax) {
$item->taxes()->updateOrCreate( $tax['company_id'] = $request->header('company');
['tax_type_id' => $tax['tax_type_id']], $item->taxes()->create($tax);
['amount' => $tax['amount'], 'percent' => $tax['percent'], 'name' => $tax['name']]
);
} }
} }

View File

@ -38,7 +38,8 @@ class OnboardingController extends Controller
$time_zones = TimeZones::get_list(); $time_zones = TimeZones::get_list();
$languages = [ $languages = [
["code"=>"en", "name" => "English"], ["code"=>"en", "name" => "English"],
["code"=>"de", "name" => "German"], ["code"=>"fr", "name" => "French"],
["code"=>"es", "name" => "Spanish"]
]; ];
$fiscal_years = [ $fiscal_years = [
['key' => 'january-december' , 'value' => '1-12'], ['key' => 'january-december' , 'value' => '1-12'],

View File

@ -1,32 +0,0 @@
<?php
namespace Crater\Listeners\Updates\V10;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Crater\Listeners\Updates\Listener;
use Crater\Events\UpdateFinished;
use Illuminate\Support\Facades\Artisan;
use Crater\Setting;
class Version101 extends Listener
{
const VERSION = '1.0.1';
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handle(UpdateFinished $event)
{
if (!$this->check($event)) {
return;
}
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
Setting::setSetting('version', self::VERSION);
}
}

View File

@ -5,7 +5,6 @@ use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvi
use Illuminate\Auth\Events\Registered; use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification; use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Crater\Events\UpdateFinished; use Crater\Events\UpdateFinished;
use Crater\Listeners\Updates\V10\Version101;
class EventServiceProvider extends ServiceProvider class EventServiceProvider extends ServiceProvider
{ {
@ -16,7 +15,6 @@ class EventServiceProvider extends ServiceProvider
*/ */
protected $listen = [ protected $listen = [
UpdateFinished::class=> [ UpdateFinished::class=> [
Version101::class,
], ],
Registered::class => [ Registered::class => [
SendEmailVerificationNotification::class, SendEmailVerificationNotification::class,

View File

@ -11,7 +11,7 @@ trait SiteApi
protected static function getRemote($url, $data = array()) protected static function getRemote($url, $data = array())
{ {
$base = 'http://crater-main.test/'; $base = 'https://craterapp.com/';
$client = new Client(['verify' => false, 'base_uri' => $base]); $client = new Client(['verify' => false, 'base_uri' => $base]);

View File

@ -48,6 +48,8 @@ class Updater
File::makeDirectory($temp_path2); File::makeDirectory($temp_path2);
} }
try {
$file = $temp_path . '/upload.zip'; $file = $temp_path . '/upload.zip';
// Add content to the Zip file // Add content to the Zip file
@ -69,7 +71,7 @@ class Updater
// Delete zip file // Delete zip file
File::delete($file); File::delete($file);
if (!File::copyDirectory($temp_path2.'/crater', base_path())) { if (!File::copyDirectory($temp_path2.'/Crater', base_path())) {
return false; return false;
} }
@ -77,7 +79,6 @@ class Updater
File::deleteDirectory($temp_path); File::deleteDirectory($temp_path);
File::deleteDirectory($temp_path2); File::deleteDirectory($temp_path2);
try {
if (!$isMinor) { if (!$isMinor) {
event(new UpdateFinished($installed, $version)); event(new UpdateFinished($installed, $version));
} }
@ -88,6 +89,13 @@ class Updater
'data' => [] 'data' => []
]; ];
} catch (\Exception $e) { } catch (\Exception $e) {
if (File::isDirectory($temp_path)) {
// Delete temp directory
File::deleteDirectory($temp_path);
File::deleteDirectory($temp_path2);
}
return [ return [
'success' => false, 'success' => false,
'error' => 'Update error', 'error' => 'Update error',

View File

@ -27,6 +27,7 @@
:upload-handler="cropperHandler" :upload-handler="cropperHandler"
trigger="#pick-avatar" trigger="#pick-avatar"
@changed="setFileObject" @changed="setFileObject"
@error="hadleUploadError"
/> />
</div> </div>
<div class="row"> <div class="row">
@ -177,14 +178,14 @@ export default {
}, },
isFetchingData: false, isFetchingData: false,
formData: { formData: {
name: '', name: null,
logo: null, logo: '',
email: '', email: '',
phone: null, phone: '',
zip: null, zip: '',
address_street_1: null, address_street_1: '',
address_street_2: null, address_street_2: '',
website: null, website: '',
country_id: null, country_id: null,
state_id: '', state_id: '',
city_id: '' city_id: ''
@ -286,6 +287,9 @@ export default {
setFileObject (file) { setFileObject (file) {
this.fileObject = file this.fileObject = file
}, },
hadleUploadError (message, type, xhr) {
window.toastr['error']('Oops! Something went wrong...')
},
async setInitialData () { async setInitialData () {
let response = await this.loadData() let response = await this.loadData()
this.isFetchingData = true this.isFetchingData = true
@ -314,15 +318,23 @@ export default {
data.append('country_id', this.formData.country_id) data.append('country_id', this.formData.country_id)
data.append('zip', this.formData.zip) data.append('zip', this.formData.zip)
data.append('phone', this.formData.phone) data.append('phone', this.formData.phone)
if (this.fileObject) {
data.append('logo', this.fileObject)
}
let response = await this.editCompany(data) let response = await this.editCompany(data)
if (response.data.success) { if (response.data.success) {
this.isLoading = false
if (this.fileObject && this.previewLogo) {
let logoData = new FormData()
logoData.append('company_logo', JSON.stringify({
name: this.fileObject.name,
data: this.previewLogo
}))
await axios.post('/api/settings/company/upload-logo', logoData)
}
this.isLoading = false this.isLoading = false
window.toastr['success'](this.$t('settings.company_info.updated_message')) window.toastr['success'](this.$t('settings.company_info.updated_message'))
return true return true
} }
this.isLoading = false
window.toastr['error'](response.data.error) window.toastr['error'](response.data.error)
return true return true
}, },

View File

@ -22,6 +22,7 @@
:upload-handler="cropperHandler" :upload-handler="cropperHandler"
trigger="#pick-avatar" trigger="#pick-avatar"
@changed="setFileObject" @changed="setFileObject"
@error="hadleUploadError"
/> />
</div> </div>
<div class="row"> <div class="row">
@ -256,30 +257,33 @@ export default {
setFileObject (file) { setFileObject (file) {
this.fileObject = file this.fileObject = file
}, },
hadleUploadError (message, type, xhr) {
window.toastr['error']('Oops! Something went wrong...')
},
async next () { async next () {
this.$v.companyData.$touch() this.$v.companyData.$touch()
if (this.$v.companyData.$invalid) { if (this.$v.companyData.$invalid) {
return true return true
} }
this.loading = true this.loading = true
let data = new FormData() let response = await window.axios.post('/api/admin/onboarding/company', this.companyData)
data.append('logo', this.fileObject)
data.append('name', this.companyData.name)
data.append('address_street_1', this.companyData.address_street_1)
data.append('address_street_2', this.companyData.address_street_2)
data.append('city_id', this.companyData.city_id)
data.append('state_id', this.companyData.state_id)
data.append('country_id', this.companyData.country_id)
data.append('zip', this.companyData.zip)
data.append('phone', this.companyData.phone)
let response = await window.axios.post('/api/admin/onboarding/company', data, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
if (response.data) { if (response.data) {
if (this.fileObject && this.previewLogo) {
let logoData = new FormData()
logoData.append('company_logo', JSON.stringify({
name: this.fileObject.name,
data: this.previewLogo
}))
await axios.post('/api/admin/onboarding/company/upload-logo', logoData, {
headers: {
'Content-Type': 'multipart/form-data',
'company': response.data.user.company.id
}
})
}
this.$emit('next') this.$emit('next')
this.loading = false this.loading = false
} }

View File

@ -115,3 +115,8 @@ code, .code {
.swal-icon--custom { .swal-icon--custom {
height: 70px !important; height: 70px !important;
} }
.avatar-cropper-btn:hover {
background-color: $ls-color-primary !important;
color: $white;
}

View File

@ -101,6 +101,11 @@ Route::group(['middleware' => 'redirect-if-installed'], function () {
'uses' => 'OnboardingController@adminCompany' 'uses' => 'OnboardingController@adminCompany'
]); ]);
Route::post('/admin/onboarding/company/upload-logo', [
'as' => 'upload.admin.company.logo',
'uses' => 'CompanyController@uploadCompanyLogo'
]);
Route::post('/admin/onboarding/settings', [ Route::post('/admin/onboarding/settings', [
'as' => 'admin.settings', 'as' => 'admin.settings',
'uses' => 'OnboardingController@companySettings' 'uses' => 'OnboardingController@companySettings'