Commit graph

208 commits

Author SHA1 Message Date
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
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
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
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
bc669c1e05 Remove pencil icon from GrapeJS image toolbar, #195 2017-04-07 23:12:01 +02:00
witzig
60907c0d86 Subscription Widget 2017-04-03 20:42:04 +02:00
witzig
52bbdb1a09 Fixed NodeList.forEach (and some refactoring) 2017-04-02 13:58:42 +02:00
vladimir
1547e887c3 Add option to disable email cheking for imported CSV 2017-03-31 11:20:43 +02:00
Andris Reinman
47705c212d Replaced andris9 with Mailtrain-org 2017-03-23 15:47:00 +02:00
witzig
56f621079f Updated Screenshots 2017-03-21 10:53:35 +01:00
witzig
038c8f4adb Fix closing tag 2017-03-21 10:26:26 +01:00
witzig
0e7f85f13e Add .logged-in and .user-username to body 2017-03-21 10:24:48 +01:00
vladimir
3152ecb228 Merge remote-tracking branch 'upstream/master' into clicks-by-device-type 2017-03-21 10:26:50 +02:00
vladimir
97d5d1a462 Replace if-else with unless function in clicked view 2017-03-21 00:16:50 +02:00
witzig
9f68fe9cbb Removed defaultPostaddress from subscription footer 2017-03-20 22:39:13 +01:00
witzig
8852f33f03 Added note about MJML usage 2017-03-20 22:32:32 +01:00
vladimir
e3cb6ca679 Fix formating and rewrite migration script 2017-03-20 21:50:53 +02:00
vladimir
7d768ebd48 Fix link.id in opened links 2017-03-20 16:53:13 +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
2e50fbc8ae Custom Forms 2017-03-19 13:36:57 +01:00
witzig
6c7a31dcb4 Updated some screenshots 2017-03-12 12:37:56 +01:00
witzig
82cac028b8 Fixed position of API screenshot 2017-03-12 03:06:51 +01:00
witzig
a2450507c6 Rename index-2.hbs to index.hbs 2017-03-12 01:10:08 +01:00
witzig
648a6ea57c Cleanup landingpage
Changed to title case
Made carousel lazy load
Feature specific screenshots
2017-03-12 01:04:43 +01:00
Andris Reinman
2098527c1d Merge branch 'landingpage' of https://github.com/witzig/mailtrain into witzig-landingpage 2017-03-11 17:41:10 +02:00
Andris Reinman
cf03039268 Merge pull request #174 from witzig/patches-2
Fixed some translation tags
2017-03-11 15:37:03 +02:00
witzig
1aef9b3b7c Removed Mosaico legacy styles 2017-03-11 13:28:07 +01:00
witzig
fe9928fac0 Fixed vertical spacing of settings page and made inputs consistent 2017-03-11 13:27:42 +01:00
witzig
c4edd89576 Fixed some translation tags 2017-03-11 13:27:21 +01:00
witzig
fca8313a5e Landing Page Proposal 2017-03-11 13:21:07 +01:00
witzig
adf183856f Moved delivered count into stats section 2017-03-11 09:52:12 +01:00
witzig
87723d05ee Improved GrapeJS toastr notifications 2017-03-10 17:11:49 +01:00
witzig
c7427596b1 Fix GrapeJS image resizing 2017-03-10 16:50:16 +01:00
witzig
94897b18fd Allow external custom scripts for Mosaico 2017-03-10 15:44:23 +01:00
witzig
5cda88ad9f Update reset.hbs 2017-03-10 14:53:12 +01:00
Andris Reinman
55d23145a8 Merge branch 'master' of github.com:andris9/mailtrain 2017-03-10 14:15:29 +02:00
witzig
2177bf43ca Inject custom CSS and JS files in layout.hbs 2017-03-10 11:27:56 +01:00
witzig
588eed008b GrapeJS and Mosaico Integration 2017-03-10 09:59:25 +01:00
Andris Reinman
63ae26a0a7 Merge pull request #153 from witzig/move-wallet
Moved Bitcoin wallet out of mailtrain.pot
2017-03-08 06:25:04 +02:00
Amit Kumar
6174fe9c83 Fix broken tag 2017-03-08 09:47:11 +05:30
witzig
97d758b039 Moved Bitcoin wallet out of translation 2017-03-07 20:59:09 +01:00
Andris Reinman
37531f2550 Merge branch 'master' of github.com:andris9/mailtrain 2017-03-07 16:31:34 +02:00
Andris Reinman
5d7e3b69fb Merge pull request #150 from witzig/tracking-code-partial
Moved tracking scripts to partial and made tools.formatMessage() less…
2017-03-07 16:31:19 +02:00
Andris Reinman
d25565b6f8 Updated translation support 2017-03-07 16:30:56 +02:00
witzig
a164a7fb40 Moved tracking scripts to partial and made tools.formatMessage() less greedy
The change in tools.formatMessage() prevents stripping CSS like
a[data-foo] and arrays in JS. Thus only replacing mergeTag it knows
about.
2017-03-06 14:52:22 +01:00
witzig
4c2f3a548c Temporary fix for #148 2017-03-05 01:54:09 +01:00
Andris Reinman
bd6ba90eca Added 'created' column for subscribers lists table 2017-03-04 22:02:46 +02:00
witzig
d9c1d8e595 Merge remote-tracking branch 'upstream/master' 2017-03-04 18:38:44 +01:00
witzig
633463108e Merge tag reference abstraction/partial
Perhaps helpers.js would be a more suitable place for
getDefaultMergeTags() and getListMergeTags() … ?
2017-03-04 18:37:41 +01:00
Andris Reinman
ba8bd12123 initial translations support 2017-03-04 18:15:16 +02:00
witzig
fa9a3de863 Update editor-bridge.hbs 2017-03-02 21:53:07 +01:00
witzig
a11d95f3d7 Support for custom HTML editors 2017-03-02 19:30:40 +01:00
Andris Reinman
66bfcebd47 added support for ses 2017-02-17 15:56:55 +02:00
Andris Reinman
461d88f6f2 Added Wiki link 2017-01-30 09:48:54 +02:00
Andris Reinman
50f6c8d101 Reload mailer config once admin updates Mailtrain settings 2016-12-25 17:59:50 +02:00
Andris Reinman
9946f70992 Added SendPulse links 2016-12-13 11:41:40 +02:00
Girish Ramakrishnan
0ab0614444 Fix typo 2016-12-12 13:11:35 -08:00
Andris Reinman
8ca1fbb535 Added option to spawn multiple sender processes 2016-12-11 00:38:54 +02:00
Andris Reinman
7fce6e28fa Allow updating subscribers email address 2016-12-07 16:12:26 +02:00
Johannes Zellner
9d7c686f20 Ensure the 'address' label fits the layout 2016-11-25 18:37:19 +01:00
Johannes Zellner
385dca65c8 Add form field for replyTo email in campaign edit 2016-11-25 17:44:16 +01:00
Johannes Zellner
e756e315e8 Add form field for replyTo email in campaign creation 2016-11-25 17:44:06 +01:00
Johannes Zellner
15613ba50c Show replyTo address in campaign view 2016-11-25 17:41:32 +01:00
Andris Reinman
0896e9f9cf v1.19.0 2016-09-15 09:57:19 +03:00
Andris Reinman
35bce32529 Full support for message attachments 2016-09-09 23:09:04 +03:00
Andris Reinman
bfc6983c93 Added attachments to campaigns 2016-09-09 22:12:03 +03:00
Andris Reinman
e1ace459cf Require subscribers to have JavaScript turned on 2016-09-08 20:43:02 +03:00
Andris Reinman
78083c33fd Require JavaScript to be turned on for subsciption confirmations 2016-09-08 17:49:01 +03:00
Andris Reinman
d651cca039 Updated installation script 2016-09-08 15:31:38 +03:00
Andris Reinman
95379f731f v1.18.0 2016-09-08 14:39:41 +03:00
Andris Reinman
69ff628cda Added support for JSON 2016-08-29 15:51:20 +03:00
Andris Reinman
896fc01015 v1.16.0 2016-08-29 13:57:27 +03:00
Andris Reinman
3fcd389db8 Merge branch 'cloudron-io-master' 2016-08-29 13:02:20 +03:00
Andris Reinman
1469e08063 Added API call to create new custom fields 2016-08-29 12:27:14 +03:00
Johannes Zellner
67fc7939df Hide/show account management ui based on authentication mode 2016-08-11 14:44:43 +02:00
Andris Reinman
aad08c4f12 v1.15.0 2016-07-28 17:10:38 +03:00
Andris Reinman
1bcc88f64c Updated front page links 2016-07-09 12:01:15 +03:00
Andris Reinman
ed83aae469 Added sponsor logo 2016-07-09 11:45:14 +03:00
Andris Reinman
cf0042c50a Added support for throttling 2016-07-05 19:31:57 +03:00
Andris Reinman
10bd4614ef Add an option to disable un/subscribe confirmation messages 2016-07-01 00:06:46 +03:00
Andris Reinman
c72f03ff5e Added API method to delete subscribers 2016-06-24 14:29:07 +03:00
Andris Reinman
eab46d758a Display a list of triggered users 2016-06-24 14:12:21 +03:00
Andris Reinman
b16209f23e Added initial support for trigger based automation 2016-06-22 14:32:15 +03:00
Andris Reinman
a229f80e22 Added support for relative date ranges in segments 2016-06-01 16:36:24 +03:00
Andris Reinman
9bd6db2624 v1.11.0 2016-05-31 17:32:36 +03:00
Andris Reinman
773977dd96 v1.10.0 2016-05-25 23:58:17 +03:00
Andris Reinman
9a5d723663 Fixed unsubscription bug #49 2016-05-25 13:47:14 +03:00
Andris Reinman
6af4db01a7 Updated archive layout 2016-05-16 17:12:12 +03:00
Andris Reinman
ab91eaf441 updated theme 2016-05-15 12:26:30 +03:00
Andris Reinman
408f021c36 Added views for bounced/unsubscribed/complained etc. 2016-05-14 12:49:42 +03:00
Andris Reinman
97803b74ed updated clicks/opened stats links 2016-05-13 22:51:40 +03:00