Commit graph

152 commits

Author SHA1 Message Date
Softion
0db686d63c
Standardization of error handling
Probably not the best way, but this should make the code more readable as a lot of it is just outputting error messages.
This allows for centralized error messages translation.
2019-06-12 17:38:45 +02:00
Tomas Bures
33f94034e2
Merge branch 'master' into master 2019-03-09 09:06:06 +01:00
Tomas Bures
fa1bf1c874
Merge pull request #482 from ateuber/custom_field_description
Custom field description
2019-03-09 09:04:38 +01:00
Andreas Teuber
2b11a319b4 Added possibility to duplicate a campaign 2019-03-07 19:40:31 +01:00
Andreas Teuber
cdaf4b0b16 Added description to custom fields 2018-10-31 11:18:31 +01:00
Andreas Teuber
dd696d49ac Added API call to change the email address of an existing list subscriber 2018-10-23 15:51:54 +02:00
Tomas Bures
ee0d148427 Merge branch 'pr453' 2018-08-05 17:44:58 +05:30
Tomas Bures
8193f0bf4d Merge PR #451 2018-08-05 17:36:10 +05:30
Tomas Bures
fe7d34e0f6 Merged pull request #412 2018-08-05 17:22:31 +05:30
Raphael Hittich
68cb8384f7 Add custom unsubscribe option in a campaign 2018-08-01 10:46:34 +02:00
Raphael Hittich
44fe8882b8 Add X-Mailer header option in settings to override or disable it. 2018-07-27 14:46:46 +02:00
Georgios Anastasiou
60adfed0a6 API: get list by id 2018-05-16 12:43:36 +03:00
Georgios Anastasiou
5f18c9d44f API: get all lists 2018-05-16 12:15:45 +03:00
Jonas Düver
006e4aa116 Add segment support to triggers frontend 2018-04-25 18:15:14 +02:00
Georgios Anastasiou
bd53a77bed Changed route 2018-01-09 12:20:46 +02:00
Georgios Anastasiou
c085faa157 Implemented api for searching lists that have parameter email as a subscriber 2018-01-08 13:03:38 +02:00
Roger Witzig
eb8a5878dd
Merge pull request #344 from brentdur/brentdur/247_template-duplicate
Adds duplicate Template
2017-11-15 12:56:34 +01:00
Gerard Krol
0073989430 Add API support for retrieving subscriptions. 2017-11-06 10:23:57 +00:00
Brenton Durkee
0cbec006b4 Adds duplicate button to Template edit form.
Adds duplicate model function for Template that gets a Template by id
and creates a new Template with the same data.
2017-10-16 11:29:57 -04:00
witzig
6e3b9d209c Fix import type display 2017-10-01 21:36:11 +02:00
witzig
46acece89c Improve CSV import error handling, closes #324 2017-09-29 00:32:00 +02:00
witzig
f4375e9da9 Update import type display 2017-09-28 01:34:34 +02:00
witzig
c5b481a266 Add option to preserve unsubscribed status on list import, #325 2017-09-28 00:55:19 +02:00
witzig
5ada25c2dc Fix error checking, #324 2017-09-27 19:27:01 +02:00
witzig
8e1bc1df7a Fixes #298 - Import CSV didn't show hidden custom fields 2017-09-22 14:26:47 +02:00
witzig
92fe9121f1 Fixed incompatibility with the ZoneMTA DKIM Plugin
https://github.com/zone-eu/zone-mta/issues/93
2017-09-19 11:50:03 +02:00
witzig
277b2cadf5 Fixed bug #261 2017-06-21 17:28:56 +02:00
witzig
3c4558d70c Refactored and linted editorapi image handling 2017-06-20 19:08:14 +02:00
witzig
1d76eefe27 Fixed unhandled promise rejection #254 (and some cleanup) 2017-06-14 11:07:16 +02:00
witzig
87f7a050ab Fixed bug #249 2017-06-11 01:27:27 +02:00
Tomas Bures
6f554038c9 Merge branch 'master' of github.com:Mailtrain-org/mailtrain 2017-06-01 08:04:56 -04:00
Tomas Bures
8c5b62b6a4 Fixed bug #246. 2017-06-01 08:03:43 -04:00
witzig
a7b2c33b30 GrapeJS MJML Integration (Experimental)
#215
2017-05-31 02:08:44 +02:00
Tomas Bures
c11d1a1cbf Added processing of the "auto" option in unsubscription.
If auto=yes is specified, the two-step unsubscription works as one-step. No unsubscription form is presented.
2017-05-27 00:43:56 +02:00
Tomas Bures
6b92e39112 Some fixes in lists and apis to reflect the changes in subscriptions.
Confirmation URLs split per action type. This allows more specific error reporting.
2017-05-06 06:35:32 -04:00
Tomas Bures
11990d62b2 Merge branch 'master' of github.com:Mailtrain-org/mailtrain
Conflicts:
	languages/de_DE.po
2017-05-04 17:58:55 -04:00
Tomas Bures
a6d25e668b Release candidate of the selectable unsubscription
Implemented the resubscription process - i.e. pre-filling in the form when the subscription link is clicked in the unsubscription notice.
2017-05-04 17:42:46 -04:00
witzig
408db13fd4 Updated RSS merge tag reference 2017-05-03 23:13:05 +02:00
Tomas Bures
bd4961366f More or less all the functionality for selectable unsubscription process. Not tested yet!
Sending emails moved completely to controller. It felt strange to have some emails sent from the controller and some of them from the model.
Confirmations refactored to an independent model that can be potentially used also for other actions that need an email confirmation.
2017-05-03 15:53:34 -04:00
Tomas Bures
32e2e61789 Unsubscription is identified by subscriber cid. This effectivelly allows only the recipient of the email to unsubscribe. This addresses issue #221.
I also scraped the "auto" parameter which automatically submits the unsubscription form when the link is clicked in a campaign email. Instead, I introduced the
unsubscription options ONE_STEP, ONE_STEP_WITH_FORM, TWO_STEP, TWO_STEP_WITH_FORM. The options without "_WITH_FORM" shall behave like when called with "auto".
This functionality is to come. Currently it behaves as ONE_STEP_WITH_FORM.
2017-04-30 13:01:22 -04:00
Tomas Bures
3783d7c2ce Halfway through extending subscriptions by selectable unsubscription process. Also contains changes towards better handling of scenarios when address is already subscribed. 2017-04-30 10:51:47 -04:00
root
2ac89f3365 Report processor worker refactored to run under another user (nobody) and have its own mysql credentials. 2017-04-27 16:35:53 -04:00
Tomas Bures
418dba7b9f Work in progress on securing reports. 2017-04-25 22:49:31 +00:00
Tomas Bures
3072632d8d Fixed eslint errors 2017-04-23 15:24:31 -04:00
Tomas Bures
bb4eb3832f Some bugfixes to the previous commit. 2017-04-20 19:57:55 -04:00
Tomas Bures
8237dd5d77 The "Reports" feature seems functional.
Some small refactoring (column widths) of rendering tables in Lists, Templates, and Campaigns so that it is the same as Reports.
2017-04-20 19:42:01 -04:00
Tomas Bures
e7d12f1dbc Halfway through in refactoring the report generation to a separate process running asynchronously of the Express server. 2017-04-17 18:31:01 -04:00
Tomas Bures
2056645023 Added the option to select lists in report.
Added an option to generate a CSV report.
2017-04-17 16:30:31 -04:00
Tomas Bures
6ba04d7ff4 This is a preview of the Reports functionality.
It allows defining report templates and then create reports based on the templates.
A template defines:
- parameters - to be set in the report (currently only selection of campaigns, in the future to be extended to selection of lists/segments, and selection from pre-defined options)
- data retrieval / processing code (in Javascript)
- rendering template (in Handlebars)

This main functionality is accompanied by a few minor tweaks here and there. Worth notice is the ability to use server-side ajax table s for multi-selection of campaigns. This is meant for reports that compare data across multiple campaigns. This could possibly be even used for some poor man's A/B testing.

Note that the execution of custom JavaScript in the data retrieval / processing code and definition of custom Handlebars templates is a security issue. This should however be OK in the general case once proper user management with granular permissions is in. This is because definition of a report template is anyway such an expert task that it would normally be performed only by admin. Instantiation of reports based on report templates can be then done by any user because this should no longer be any security problem.
2017-04-16 18:09:08 -04:00
Tomas Bures
9fdf52674e Lists and Templates overviews refactored to use ajax. Before the refactoring, they behaved and looked a bit different to the other (Ajax) tables. The main difference in the behavior was in the row numbers (1st column) when sort order was switched. The non-ajax tables rearranged the numbers in the 1st column while the ajax-tables didn't.
Some small tweaks in table-helpers to allow selecting which fields are pulled from DB (and how they are renamed).
2017-04-16 03:22:32 -04:00