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.
@ -11,3 +11,6 @@ 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.
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));