mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
feat: company blacklist
This commit is contained in:
parent
7cc5ff11d4
commit
a5b3215ff7
@ -118,6 +118,8 @@ use Laracasts\Presenter\PresentableTrait;
|
||||
* @property bool $expense_mailbox_allow_unknown
|
||||
* @property string|null $expense_mailbox_whitelist_domains
|
||||
* @property string|null $expense_mailbox_whitelist_emails
|
||||
* @property string|null $expense_mailbox_blacklist_domains
|
||||
* @property string|null $expense_mailbox_blacklist_emails
|
||||
* @property int $deleted_at
|
||||
* @property string $smtp_username
|
||||
* @property string $smtp_password
|
||||
@ -373,7 +375,8 @@ class Company extends BaseModel
|
||||
'expense_mailbox_allow_unknown',
|
||||
'expense_mailbox_whitelist_domains',
|
||||
'expense_mailbox_whitelist_emails',
|
||||
'expense_mailbox_whitelist',
|
||||
'expense_mailbox_blacklist_domains',
|
||||
'expense_mailbox_blacklist_emails',
|
||||
'smtp_host',
|
||||
'smtp_port',
|
||||
'smtp_encryption',
|
||||
|
@ -207,6 +207,14 @@ class IngresEmailEngine
|
||||
$domain_whitelist = explode(",", $this->company->expense_mailbox_whitelist_domains);
|
||||
if (in_array($domain, $domain_whitelist))
|
||||
return true;
|
||||
$email_blacklist = explode(",", $this->company->expense_mailbox_blacklist_emails);
|
||||
if (in_array($this->email->from, $email_blacklist))
|
||||
return false;
|
||||
$domain_blacklist = explode(",", $this->company->expense_mailbox_blacklist_domains);
|
||||
if (in_array($domain, $domain_blacklist))
|
||||
return false;
|
||||
|
||||
// allow unknown
|
||||
if ($this->company->expense_mailbox_allow_unknown && sizeOf($email_whitelist) == 0 && sizeOf($domain_whitelist) == 0) // from unknown only, when no whitelists are defined
|
||||
return true;
|
||||
|
||||
|
@ -19,6 +19,8 @@ return new class extends Migration {
|
||||
$table->boolean("expense_mailbox_allow_unknown")->default(false);
|
||||
$table->string("expense_mailbox_whitelist_domains")->nullable();
|
||||
$table->string("expense_mailbox_whitelist_emails")->nullable();
|
||||
$table->string("expense_mailbox_blacklist_domains")->nullable();
|
||||
$table->string("expense_mailbox_blacklist_emails")->nullable();
|
||||
});
|
||||
Schema::table('vendors', function (Blueprint $table) {
|
||||
$table->string("invoicing_email")->nullable();
|
||||
|
Loading…
x
Reference in New Issue
Block a user