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)) {
|
||||
$option_fields = NewsletterOptionField::where(
|
||||
'newsletter_type',
|
||||
|
@ -158,4 +158,14 @@ class Setting extends Model {
|
||||
$value = self::where('name', $value)->findOne();
|
||||
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();
|
||||
}
|
||||
|
||||
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() {
|
||||
Setting::deleteMany();
|
||||
}
|
||||
|
Reference in New Issue
Block a user