Set default sender on newsletter save
[MAILPOET-1415]
This commit is contained in:
@ -81,6 +81,10 @@ class Newsletters extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($data['sender_address']) && isset($data['sender_name'])) {
|
||||||
|
Setting::saveDefaultSenderIfNeeded($data['sender_address'], $data['sender_name']);
|
||||||
|
}
|
||||||
|
|
||||||
if(!empty($options)) {
|
if(!empty($options)) {
|
||||||
$option_fields = NewsletterOptionField::where(
|
$option_fields = NewsletterOptionField::where(
|
||||||
'newsletter_type',
|
'newsletter_type',
|
||||||
|
@ -158,4 +158,14 @@ class Setting extends Model {
|
|||||||
$value = self::where('name', $value)->findOne();
|
$value = self::where('name', $value)->findOne();
|
||||||
return ($value) ? $value->delete() : false;
|
return ($value) ? $value->delete() : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function saveDefaultSenderIfNeeded($sender_address, $sender_name) {
|
||||||
|
if(empty($sender_address) || empty($sender_name) || Setting::getValue('sender')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Setting::setValue('sender', array(
|
||||||
|
'address' => $sender_address,
|
||||||
|
'name' => $sender_name
|
||||||
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -147,6 +147,26 @@ class SettingTest extends \MailPoetTest {
|
|||||||
expect(Setting::getValue('test.key'))->null();
|
expect(Setting::getValue('test.key'))->null();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testSaveDefaultSenderIfNeededNotSaveEmptyValue() {
|
||||||
|
Setting::saveDefaultSenderIfNeeded('', null);
|
||||||
|
expect(Setting::getValue('sender'))->null();
|
||||||
|
}
|
||||||
|
|
||||||
|
function testSaveDefaultSenderIfNeededDoesntOverride() {
|
||||||
|
Setting::setValue('sender', array('name' => 'sender1', 'address' => 'sender1address'));
|
||||||
|
Setting::saveDefaultSenderIfNeeded('sender2address', 'sender1');
|
||||||
|
$settings = Setting::getValue('sender');
|
||||||
|
expect($settings['name'])->equals('sender1');
|
||||||
|
expect($settings['address'])->equals('sender1address');
|
||||||
|
}
|
||||||
|
|
||||||
|
function testSaveDefaultSenderIfNeeded() {
|
||||||
|
Setting::saveDefaultSenderIfNeeded('senderAddress', 'sender');
|
||||||
|
$settings = Setting::getValue('sender');
|
||||||
|
expect($settings['name'])->equals('sender');
|
||||||
|
expect($settings['address'])->equals('senderAddress');
|
||||||
|
}
|
||||||
|
|
||||||
function _after() {
|
function _after() {
|
||||||
Setting::deleteMany();
|
Setting::deleteMany();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user