Commit graph

157 commits

Author SHA1 Message Date
Krzysztof Jablonski
71ac4c64a5 Avoid using > with „enums” 2017-06-08 14:22:34 +02:00
Krzysztof Jablonski
819fcfb392 Fix typo during refactoring
During code refactoring for selectable
unsubscription feature code:
`!campaignId || status > 2` was wrongly refactored
to:
`subscription.status !== Status.SUBSCRIBED`

Link:
a6d25e668b (diff-5af9fe5dfae76c093530c92e3d7404e1R496)
2017-06-08 14:06:35 +02:00
witzig
5aa6dff743 Fixed HTML templates for custom JSON fields #192 2017-06-03 00:13:03 +02:00
witzig
cec227d688 Fixed Merge Tags for custom date fields 2017-06-02 03:05:19 +02:00
witzig
466bf225a3 Fixed Merge Tags #206 #236 2017-06-02 00:24:26 +02:00
witzig
cff908887f Fixed throttling and pausing #243 2017-06-01 13:08:45 +02:00
vladimir
1e3fe96825 [bugfix] Blacklisted emails counter not set to 0 on campaign reset 2017-05-27 14:14:32 +02:00
vladimir
25bb4afa80 Merge with upstream 2017-05-27 14:07:56 +02:00
vladimir
59912e3c29 Separate disable opened/clicked tracker to 2 options 2017-05-27 14:04:49 +02:00
Tomas Bures
ccd37ac792 Polishing e2e test API. Added option to parse links and extract parameters from them. Added option to construct parameterizedlinks in "navigate". 2017-05-23 19:34:01 +02:00
Tomas Bures
62cc881fd4 Merge remote-tracking branch 'upstream/master' 2017-05-18 22:46:53 +02:00
witzig
6c35046ab2 e2e tests (draft) 2017-05-10 01:40:02 +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
Alejandro Fanjul
92bffd78de RSS Improvements to allow more template Tags like ([RSS_ENTRY_TITLE], [RSS_ENTRY_DATE], [RSS_ENTRY_LINK], [RSS_ENTRY_CONTENT], [RSS_ENTRY_SUMMARY], [RSS_ENTRY_IMAGE_URL]) 2017-05-02 18:38:54 +02: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
Tomas Bures
92df915a7e config.user/group used if config.rouser/rogroup is not set 2017-04-27 18:25:05 -04:00
Tomas Bures
7a08ffa596 Fix - reports crashed if the user could not be switched (because mailtrain was not run under root). Now an error is reported. 2017-04-27 18:14:15 -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
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
Tomas Bures
e5190c9b20 Code de-duplication of list and filter methods. The common functionality moved to table-helpers.js
This should make developing new table-based views easier.
2017-04-15 08:24:58 -04:00
Tomas Bures
c74232e9c5 Added option to mark a list as not being allowed to be subscribed by public users using the form.
The settings is a checkbox in list create/edit.
2017-04-14 08:57:47 -04:00
vladimir
c9136f8abd Add blacklist function 2017-04-11 10:10:02 +02:00
witzig
9c2444488f Satisfy ESLint no-unused-vars 2017-04-02 14:00:42 +02:00
Andris Reinman
f234a64df7 Merge pull request #187 from larrabee/disable_email_check
Add option to disable email cheking for imported CSV
2017-03-31 13:43:08 +03:00
vladimir
3b39f619b1 Small visual change in device/country charts 2017-03-31 11:51:26 +02:00
vladimir
1547e887c3 Add option to disable email cheking for imported CSV 2017-03-31 11:20:43 +02:00
Andris Reinman
d7c06e0a5a Do not use .stack property with error objects 2017-03-24 13:04:38 +02:00
Andris Reinman
179e0d5ab3 fixed thrown errors 2017-03-21 10:39:44 +02:00
vladimir
3152ecb228 Merge remote-tracking branch 'upstream/master' into clicks-by-device-type 2017-03-21 10:26:50 +02:00
Andris Reinman
979321ea98 Merge pull request #180 from witzig/custom-forms-mjml
Custom forms mjml
2017-03-21 09:54:59 +02:00
vladimir
8caf334fcc Cosmetic changes 2017-03-21 01:06:05 +02:00
witzig
0b0929aa7b Some code formatting 2017-03-20 21:40:21 +01:00
witzig
f2b7d4c8df Removed data keys from table custom_forms 2017-03-20 21:25:41 +01:00
witzig
c3ee53bd4b Refactored Custom Form Table Structure 2017-03-20 19:37:09 +01:00
vladimir
10dd23fee4 Merge remote-tracking branch 'upstream/master' into clicks-by-device-type 2017-03-20 14:50:10 +02:00
vladimir
1ba3bce6eb Add device type detect and stats calculation for open/click rate by device type and country 2017-03-20 14:44:17 +02:00
witzig
477aff95d5 Moved scripts out of layout.mjml.hbs 2017-03-19 16:14:31 +01:00
witzig
91addb14af Satisfy ESLint indentation rule 2017-03-19 16:03:11 +01:00
witzig
adf4be7836 Fixed security issue where custom form description tags were able to include script tags 2017-03-19 15:53:41 +01:00