Commit graph

256 commits

Author SHA1 Message Date
Kailash Nadh
8771dc28cb Refactor init functions for clearer dependency visibility 2020-03-08 15:38:47 +05:30
Kailash Nadh
07856d34a2 Fix bug in e-mail scheduling 2020-03-08 15:29:53 +05:30
Kailash Nadh
68c4ccdefc Fix campaign UI to update start/schedule button automatically 2020-03-08 15:23:57 +05:30
Kailash Nadh
ba87801930 Fix template preview sending invalid view requests 2020-03-08 15:10:51 +05:30
Kailash Nadh
ca032c89d6 Refactor manager.CampaignMessage's exposed fields 2020-03-08 15:02:20 +05:30
Kailash Nadh
a0d9a4771a Fix incorrect send_at time in installer's sample campaign 2020-03-08 15:01:42 +05:30
Kailash Nadh
442dec9341 Fix broken subscriber data export 2020-03-08 14:36:50 +05:30
Kailash Nadh
892d5d2a20 Remove 'govalidator' package dependecy 2020-03-08 13:03:38 +05:30
Kailash Nadh
d4aea0a436 Add support for pushing non-campaign message with workers.
- Refactor campaign.Message into campaign.Message and
  campaign.CampaignMessage
- Remove ad-hoc goroutines (flawed approach) that were used to push
  admin and optin notifications.
- Provision for largscale pushing of ad-hoc, non-campaign messages
  such as transactional messages (in the future).
2020-03-08 12:27:41 +05:30
Kailash Nadh
5f6a4af6b4 Cleanup unnecessary pointers 2020-03-08 11:07:24 +05:30
Kailash Nadh
ac2145de89 Fix default template path in installer 2020-03-08 11:04:34 +05:30
Kailash Nadh
40ae9cdb31 Minor formatting fixes 2020-03-08 10:54:10 +05:30
Kailash Nadh
709668d811 Move static assets to 'static' dir 2020-03-08 00:25:53 +05:30
Kailash Nadh
9005bb6dad Move internal packages to 'internal' dir 2020-03-08 00:17:54 +05:30
Kailash Nadh
8853809713 Refactor and cleanup initialization.
- Clean up main.go (by moving init to init.go) and improve
  composition comprehension.
- Refactor app context and init struct and field names.
- Update package dependencies in initialisation.
2020-03-08 00:06:48 +05:30
Kailash Nadh
83b49df39d Add missing error logs 2020-03-07 23:00:55 +05:30
Kailash Nadh
0a2d2d66be Refactor forms UI 2020-03-07 22:32:36 +05:30
Kailash Nadh
276942ab91 Replace outdated UUID lib 2020-03-07 20:37:48 +05:30
Kailash Nadh
4faffe0d46 Refactor template name in public pages 2020-03-07 20:24:42 +05:30
Kailash Nadh
c08ca14a5b Add subscription forms 2020-03-07 20:22:01 +05:30
Kailash Nadh
b205761fb3 Update feature list 2020-02-09 19:43:02 +05:30
Kailash Nadh
62aa31b14c Refactor {{ UnsubURL }} into a global function (breaking change) 2020-02-09 19:15:14 +05:30
Kailash Nadh
2ee2e68230 Inject version during build into the frontend 2020-02-09 18:50:08 +05:30
Kailash Nadh
f039f351c1 Link list name to subscribers page on lists UI 2020-02-09 17:27:51 +05:30
Kailash Nadh
afdf053288 Add 'send opt-in mail' link to subscriber modal UI 2020-02-09 17:17:58 +05:30
Kailash Nadh
6be3352f52 Refactor/merge optin-list fetch queries 2020-02-09 16:25:19 +05:30
Kailash Nadh
6cb2cd7ea2 Tweak default list and subscriber entries in install 2020-02-09 11:45:01 +05:30
Kailash Nadh
8616aa8028 Remove status from example on the import UI 2020-02-09 11:36:15 +05:30
Kailash Nadh
ab8bac226f Fix title bug in list modal UI 2020-02-09 11:36:15 +05:30
Kailash Nadh
022b35c4a7 Add support for sending 'opt-in' campaigns.
- Campaigns now have a `type` property (regular, opt-in)
- Opt-in campaigns work for double opt-in lists and e-mail
  subscribers who haven't confirmed their subscriptions.
- Lists UI shows a 'Send opt-in campaign' optin that
  automatically creates an opt-in campaign for the list
  with a default message body that can be tweaked before
  sending the campaign.
- Primary usecase is to send opt-in campaigns to subscribers
  who are added via bulk import.

This is a breaking change. Adds a new Postgres enum type
`campaign_type` and a new column `type` to the campaigns table.
2020-02-09 11:36:15 +05:30
Kailash Nadh
9a890c77ab Add button style to default template 2020-02-09 11:36:15 +05:30
Kailash Nadh
af14fff6c2 Refactor campaign content type references 2020-02-09 11:36:15 +05:30
Kailash Nadh
ec22170176 Fix list ID parsing in campaign UI 2020-02-09 11:36:15 +05:30
Kailash Nadh
a2d21a8bf0 Refactor opt-in subscriber selection queries 2020-02-09 11:36:15 +05:30
Kailash Nadh
ea302d11b7 Use default template if there isn't one in campaign creation 2020-02-09 11:36:15 +05:30
Kailash Nadh
871893a9d2 Add double opt-in support.
- Lists can now be marked as single | double optin.
- Insert subscribers to double opt-in lists send out a
  confirmation e-mail to the subscriber with a confirmation link.
- Add `{{ OptinURL }}` to template functions.

This is a breaking change. Adds a new field 'optin' to the lists
table and changes how campaigns behave. Campaigns on double opt-in
lists exclude subscribers who haven't explicitly confirmed subscriptions.

Changes the structure and behaviour of how notification e-mail routines,
including notif email template compilation,  notification callbacks for
campaign and bulk import completions.
2020-02-09 11:36:15 +05:30
Kailash Nadh
bdd42b66c5 Refactor notificatin data structure 2020-02-09 11:36:15 +05:30
Kailash Nadh
e9685b2ce5 Refactor HTML views with new data structures 2020-02-09 11:36:15 +05:30
Kailash Nadh
f8a204408f Add default values to sample config URLs 2020-02-09 11:36:15 +05:30
Kailash Nadh
f71493e183 Add PNG logo for e-mails 2020-02-09 11:36:15 +05:30
Kailash Nadh
4abcb2852c Refactor template functions.
- Better template function shorthand substitution.
- Make `UnsubscribeURL` a function consitent with TrackLink.
  This is a breaking change that makes the old `.UnsubscrbeURL`
  obsolete.
2020-02-09 11:36:15 +05:30
Kailash Nadh
9a88c2ed7b Add support for custom SMTP HELO hostname (for FQDNS) 2020-02-06 15:39:43 +05:30
Kailash Nadh
047de69770 Add support for no-auth SMTPs 2020-02-05 18:09:13 +05:30
Kailash Nadh
1064f1e4d8 Merge branch 'master' of github.com:knadh/listmonk 2020-01-19 20:49:01 +05:30
Kailash Nadh
6681f189fc Fix 'send_at' option on the UI and bug in starting scheduled campaigns 2020-01-19 20:46:25 +05:30
Kailash Nadh
e230baca3b
Merge pull request #51 from josejibin/fix/per-page-logic
Fix: perPage logic in `getPagination`
2020-01-17 23:54:58 +05:30
j
f6878130a5 Fix: perPage logic in getPagination 2020-01-17 22:17:14 +05:30
Kailash Nadh
3cba2fea51
Amend feature text 2019-12-24 14:59:15 +05:30
Kailash Nadh
32a543bf4f Fix incorrect campaign API response when there are no campaigns 2019-12-06 21:39:18 +05:30
Kailash Nadh
6747a95b3d Fix unclosed DB transactions in subscriber search 2019-12-05 21:27:31 +05:30