Compare commits
3 commits
4207b8093c
...
d61183c0a8
Author | SHA1 | Date | |
---|---|---|---|
d61183c0a8 | |||
08bf27298c | |||
f861f240d1 |
6 changed files with 34 additions and 10 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
1.1.1
|
||||||
|
|
||||||
|
* Fix the ability to start new Conversations.
|
||||||
|
* Log an explicit error when creating a new Conversation is aborted.
|
||||||
|
|
||||||
1.1.0
|
1.1.0
|
||||||
|
|
||||||
* Add compatibility with MMFCustomersGroups.
|
* Add compatibility with MMFCustomersGroups.
|
||||||
|
|
|
@ -59,6 +59,7 @@ class Customer extends BaseCustomer {
|
||||||
::where('id', '=', $id)
|
::where('id', '=', $id)
|
||||||
->whereIn('mailbox_id', $mailboxes)
|
->whereIn('mailbox_id', $mailboxes)
|
||||||
->first($columns);
|
->first($columns);
|
||||||
|
return $customer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -6,11 +6,16 @@
|
||||||
|
|
||||||
namespace Modules\MMFRestrictedCustomers\Providers;
|
namespace Modules\MMFRestrictedCustomers\Providers;
|
||||||
|
|
||||||
use Illuminate\Support\ServiceProvider;
|
|
||||||
use Illuminate\Database\Eloquent\Factory;
|
|
||||||
use Eventy;
|
use Eventy;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factory;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
use App\User;
|
use App\User;
|
||||||
|
|
||||||
use Modules\MMFRestrictedCustomers\Console\Commands\FetchEmails;
|
use Modules\MMFRestrictedCustomers\Console\Commands\FetchEmails;
|
||||||
|
use Modules\MMFRestrictedCustomers\Entities\Customer;
|
||||||
|
|
||||||
class MMFRestrictedCustomersServiceProvider extends ServiceProvider {
|
class MMFRestrictedCustomersServiceProvider extends ServiceProvider {
|
||||||
/**
|
/**
|
||||||
|
@ -57,13 +62,26 @@ class MMFRestrictedCustomersServiceProvider extends ServiceProvider {
|
||||||
Eventy::addAction(
|
Eventy::addAction(
|
||||||
'customer.set_data',
|
'customer.set_data',
|
||||||
function($customer, $data, $replace_data) {
|
function($customer, $data, $replace_data) {
|
||||||
if ( isset($data['mailbox']) ) {
|
if ( array_key_exists('mailbox', $data) ) {
|
||||||
// TODO: Check that the current user is allowed to access this Mailbox.
|
// TODO: Check that the current user is allowed to access this Mailbox.
|
||||||
$data['mailbox_id'] = $data['mailbox'];
|
$data['mailbox_id'] = $data['mailbox'];
|
||||||
unset($data['mailbox']);
|
unset($data['mailbox']);
|
||||||
}
|
}
|
||||||
// TODO: Throw an error if the Mailbox is not set.
|
if ( array_key_exists('mailbox_id', $data) ) {
|
||||||
$customer->mailbox_id = $data['mailbox_id'];
|
$customer->mailbox_id = $data['mailbox_id'];
|
||||||
|
} else {
|
||||||
|
$customer = Customer::find($customer->id);
|
||||||
|
if ( $customer == null ) {
|
||||||
|
Log::error('Trying to use a Customer in another Mailbox than the one it is linked to is not allowed, and has been aborted.');
|
||||||
|
// TODO: Error out more gracefully.
|
||||||
|
abort(500, 'Trying to use a Customer in another Mailbox than the one it is linked to is not allowed, and has been aborted.');
|
||||||
|
}
|
||||||
|
if ( $customer->mailbox_id == null ) {
|
||||||
|
Log::error('The creation of a Customer with no link to a Mailbox is not allowed, and has been aborted.');
|
||||||
|
// TODO: Error out more gracefully.
|
||||||
|
abort(500, 'The creation of a Customer with no link to a Mailbox is not allowed, and has been aborted.');
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
$priority = 20,
|
$priority = 20,
|
||||||
$arguments = 3
|
$arguments = 3
|
||||||
|
|
|
@ -33,11 +33,11 @@ So it is highly recommended to backup your customers database:
|
||||||
|
|
||||||
Download the [release tarball] and extract its content into `Modules/MMFRestrictedCustomers`.
|
Download the [release tarball] and extract its content into `Modules/MMFRestrictedCustomers`.
|
||||||
|
|
||||||
[release tarball]: https://port.numenaute.org/MMF/freescout-restricted-customers/archive/1.1.0.tar.gz
|
[release tarball]: https://port.numenaute.org/MMF/freescout-restricted-customers/archive/1.1.1.tar.gz
|
||||||
|
|
||||||
```
|
```
|
||||||
wget https://port.numenaute.org/MMF/freescout-restricted-customers/archive/1.1.0.tar.gz -O freescout-restricted-customers-1.1.0.tar.gz
|
wget https://port.numenaute.org/MMF/freescout-restricted-customers/archive/1.1.1.tar.gz -O freescout-restricted-customers-1.1.1.tar.gz
|
||||||
tar xf freescout-restricted-customers-1.1.0.tar.gz -C Modules
|
tar xf freescout-restricted-customers-1.1.1.tar.gz -C Modules
|
||||||
mv Modules/freescout-restricted-customers Modules/MMFRestrictedCustomers
|
mv Modules/freescout-restricted-customers Modules/MMFRestrictedCustomers
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "millions-missing-france/freescout-restricted-customers",
|
"name": "millions-missing-france/freescout-restricted-customers",
|
||||||
"description": "Freescout restricted customers - Restrict access to Freescout customers to specific mailboxes",
|
"description": "Freescout restricted customers - Restrict access to Freescout customers to specific mailboxes",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"license": ["AGPL-3.0-only"],
|
"license": ["AGPL-3.0-only"],
|
||||||
"authors": [
|
"authors": [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "MMFRestrictedCustomers",
|
"name": "MMFRestrictedCustomers",
|
||||||
"alias": "mmfrestrictedcustomers",
|
"alias": "mmfrestrictedcustomers",
|
||||||
"description": "Freescout restricted customers - Restrict access to Freescout customers to specific mailboxes",
|
"description": "Freescout restricted customers - Restrict access to Freescout customers to specific mailboxes",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"detailsUrl": "",
|
"detailsUrl": "",
|
||||||
"author": "Millions Missing FRANCE",
|
"author": "Millions Missing FRANCE",
|
||||||
"authorUrl": "info@millionsmissing.fr",
|
"authorUrl": "info@millionsmissing.fr",
|
||||||
|
|
Loading…
Reference in a new issue