Added list_unsubscribedisabled option

Added TODO file
This commit is contained in:
Tomas Bures 2018-09-23 21:36:59 +02:00
parent 27021e9b2b
commit a494dc6482
4 changed files with 32 additions and 4 deletions

22
TODO.md Normal file
View file

@ -0,0 +1,22 @@
### Deletion
- Delete button in Lists
- Check/delete dependencies
### Templates
- Add MJML template editor
- Include GrapeJS with MJML support
- CKEditor to sandbox
- Add Files support to CKEditor
### Campaigns
- Statistics for a sent campaign
- List of sent RSS campaigns
### Pull requests
- Support ldaps:// - 5325f2ea7864ce5f42a9a6df3408af7ffbd32591
- Support https - abd788d8f4d18b5a977226ba1224cba7f2b7fa9b
- Support warn of failed login - 4bd1e994b27420ba366d9b0429e9014e5bf01f13
- Add X-Mailer header option in settings to override or disable it - 44fe8882b876bdfd9990110496d16f819dc64ac3
- Add custom unsubscribe option in a campaign - 68cb8384f7dfdbcaf2932293ec5a2f1ec0a1554e
- Add API extensions

View file

@ -1,6 +1,6 @@
## Migration from Mailtrain v1 to Mailtrain v2
The migration should almost happen automatically. There are however the following caveats:
The migration should happen almost automatically. There are however the following caveats:
1. Structure of config files (under `config`) has changed at many places. Revisit the default config (`config/default.toml`)
and update your configs accordingly.
@ -10,4 +10,7 @@ The migration should almost happen automatically. There are however the followin
3. Directory for custom Mosaico templates has changed from `public/mosaico/templates` to `client/static/mosaico/templates`.
4. Imports are not migrated. If you have any pending imports, complete them before migration to v2.
4. Imports are not migrated. If you have any pending imports, complete them before migration to v2.
5. Zone MTA configuration endpoint (webhooks/zone-mta/sender-config) has changed. The send-configuration CID has to be
part of the URL - e.g. webhooks/zone-mta/sender-config/default.

View file

@ -41,6 +41,7 @@ export default class CUD extends Component {
if (this.props.entity) {
this.getFormValuesFromEntity(this.props.entity, data => {
data.form = data.default_form ? 'custom' : 'default';
data.listunsubscribe_disabled = !!data.listunsubscribe_disabled;
});
} else {
this.populateFormValues({
@ -53,7 +54,8 @@ export default class CUD extends Component {
homepage: '',
unsubscription_mode: UnsubscriptionMode.ONE_STEP,
namespace: mailtrainConfig.user.namespace,
to_name: '[FIRST_NAME] [LAST_NAME]'
to_name: '[FIRST_NAME] [LAST_NAME]',
listunsubscribe_disabled: false
});
}
}
@ -202,6 +204,7 @@ export default class CUD extends Component {
<Dropdown id="unsubscription_mode" label={t('Unsubscription')} options={unsubcriptionModeOptions} help={t('Select how an unsuscription request by subscriber is handled.')}/>
<CheckBox id="listunsubscribe_disabled" label={t('Unsubscribe header')} text={t('Do not send List-Unsubscribe headers')}/>
<ButtonRow>
<Button type="submit" className="btn-primary" icon="ok" label={t('Save')}/>

View file

@ -14,7 +14,7 @@ const entitySettings = require('../lib/entity-settings');
const UnsubscriptionMode = require('../shared/lists').UnsubscriptionMode;
const allowedKeys = new Set(['name', 'description', 'default_form', 'public_subscribe', 'unsubscription_mode', 'contact_email', 'homepage', 'namespace', 'to_name']);
const allowedKeys = new Set(['name', 'description', 'default_form', 'public_subscribe', 'unsubscription_mode', 'contact_email', 'homepage', 'namespace', 'to_name', 'listunsubscribe_disabled']);
function hash(entity) {
return hasher.hash(filterObject(entity, allowedKeys));