foundersandcoders / sail-back

Membership management for Friends of Chichester Harbour
MIT License
6 stars 1 forks source link

Create subs due tab #522

Open jay-meister opened 7 years ago

jay-meister commented 7 years ago

We want a tab where admins can update the subs due on members accounts for a certain period.

We already have this functionality when the admin checks the email or letters in the corresponding subs due tab.

jay-meister commented 7 years ago

@dicul should I remove the 'Reset Subs Due' functionality from all areas of the application?

Dicul commented 7 years ago

Yes

jay-meister commented 7 years ago

New Subs Due tab

screen shot 2017-07-28 at 14 50 31

Without results

screen shot 2017-07-28 at 14 50 44

With results

screen shot 2017-07-28 at 14 51 00

@Dicul could you please take a look at the new tab layout and let me know if there are any changes?

jay-meister commented 7 years ago

I will need to add the following lines back into the subs due query when previewing letters and emails:

...
  ('annual-single', 'annual-double', 'annual-family', 'annual-corporate', 'annual-group')

  and ${body.news_type === 'online'
      ? 'primary_email is not null and email_bounced != true'
      : '(primary_email is null or email_bounced = true)'}

  and
...
Dicul commented 7 years ago

That looks good Jack. For each member in the listing, in addition to Membership No and Name, could you add :-

Date (When Sub Charged – should normally be their Due Date) E or L (Email or letter to be sent) Sub £ (amount)

R

jay-meister commented 7 years ago

@Dicul I have added the due date and news type of each member to the table:

screen shot 2017-07-31 at 13 11 13

For the 'Sub Amount £' would you like to to add their total balance due, or just the most recent subscription fee?

Dicul commented 7 years ago

That’s great.

It would actually help if we showed both the Sub fee which has been posted and the Bal Due.

Apologies – failed to explain letter/email properly. It’s not Post/Online I’m afraid.

If member has a primary email address and their ‘Email bounced’ is set to False then they are Email (they should be sent an email reminder that their Sub is due)

If member has no primary email address OR if ‘Email; bounced’ is set to True then they are Letter (they should be sent a letter reminder that their Sub is due )

jay-meister commented 7 years ago

Ok I will update the table.

Currently having an issue with the query for the subs due letters.

jay-meister commented 7 years ago

@Dicul I have added both:

screen shot 2017-08-03 at 13 48 57

If you could check the functionality is still as expected on the staging application later tonight: http://staging-foch.herokuapp.com/

Dicul commented 7 years ago

That looks great, thanks

But I’m afraid there is a bug in there. If you go to the staging app you’ll see that I’ve been testing the first 6 members with Due Dates set for 07 and 08.

Member 1003 Due Date is set for 14/08 . Bu t Mr Smelly doesn’t get a Sub Charge made to his account.

jay-meister commented 7 years ago

I can see 2 problems when running the 'Update subs due' functionality between 01/07/2017 and 01/09/2017:

Another issue that I came across was:

jay-meister commented 7 years ago

@Dicul on the staging application you can remove the £50 subscription charge on member 1003 then run the 'update subs due' function and verify that a subscription charge is added to his account. Again if this is functionality that you do not want, please let me know.

Dicul commented 7 years ago

when I look at 1003 I see a payment 1/1/16 of £15 which means he has a Bal Due of -£15

That’s followed by a sub charge 1/11/16 of £50. That sub charge is unpaid so the Bal Due is £35 (It was a sub charge in 16 not 17 Jack)

If I click Update Subs Due and enter 1/8/17 to 31/8/17 no sub charge is made to 1003


If I now delete the Sub charge 1/11/16 of £50

Then click Update Subs Due and enter 1/8/17 to 31/8/17

Now a sub charge of £20 is made to 1003

And when I look at 1003 he has the original payment of £25 and the sub charge of £20 for 14/8/17 so his Bal Due is £5


So I guess that in the original case he doesn’t get a sub charge because he has an outstanding sub charge still unpaid – even tho it’s for the previous year.

On thinking about it I guess that’s the way we want the system to work. So well done

(In practice the member should be de-activated once he hasn’t paid for 120 days. So this exact situation shouldn’t really happen)


I’ll get back to some more testing in an hour or so

Richard

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Jack Murphymailto:notifications@github.com Sent: 09 August 2017 12:46 To: foundersandcoders/sail-backmailto:sail-back@noreply.github.com Cc: Diculmailto:riche80@outlook.com; Mentionmailto:mention@noreply.github.com Subject: Re: [foundersandcoders/sail-back] Create subs due tab (#522)

@Diculhttps://github.com/dicul I have recreated the issue locally. What I think is causing this is Member 1003 has a subscription charge made to his name on 01/11/17

Member 1003 does not show up on the first 'Update subs due' click. And no sub charge is added to his account.

Then if we remove his last subs charge, he does show up on the list after 'updating subs due' but no charge is added to his account.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/foundersandcoders/sail-back/issues/522#issuecomment-321232145, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWKnicY6YZXiovVWOCDtNTdaM2TwXIx5ks5sWZwZgaJpZM4Olp6a.

jay-meister commented 7 years ago

@Dicul great, pleased to hear nothing is broken on that front. As for the email issue, it is strange that it's happening in the staging app and not locally. I'm looking into it now:

I’ve tried the Subscription Due Email – Show Members function and don’t get any response when I click Show Members. If you just check Member 1002 you’ll see you have a sub charge of £10 for 28/8/17 in your member account.

jay-meister commented 7 years ago

@Dicul I have just looked into the query and realised why it is not working. Can you let me know who should show up for a sub due email/letter? is it anyone who has an unpaid subscription charge in the last 30 days?

Dicul commented 7 years ago

Quick answer is No because I’m asked for start date and end date for which Sub Due email (or letter) is to be sent. The email/leter gioes to any member who has an unpaid Sub Charge within those dates

The process on about the 1st of each month is intended to be as follows :-

  1. The membership sec (a) clicks on Sub Due tab and (b) enters the 1st and 31st of the current month. (c) That posts Sub charges to everyone with a due date this months. (d) The only exception is where the occasional member has paid ahead of their Due Date – in which case they will already have a sub charge dated sometime this calendar year posted on their account (along with the payment of their sub) and no sub charge should be posted this month. (e) The mem sec prints the list of members who have had a Sub charge for this month made to their account

  2. The mem sec (a) clicks on Emails and then (b) clicks Sub Due and (c) enters the 1st and 31st of the current month. (d) That produces a list of members (with valid primary email address and ‘Email Bounced’ set to False) to whom Sub Due email will be sent – that is all members where there is a Sub charge this month (assuming 1st and 31st dates have been entered) and balance is > zero. (e) Mem sec prints that list. (f) Mem sec clicks Send Emails

  3. The mem sec (a) clicks on Letters and then (b) clicks Sub Due and (c) enters the 1st and 31st of the current month. (d) That produces a list of members (with no primary email address or with a primary email address but ‘Email Bounced’ set to True) to whom Sub Due Letter will be sent – that is all members where there is a Sub charge this month (assuming 1st and 31st dates have been entered) and balance is > zero. (e) Mem sec prints that list. (f) Mem sec prints letters

Hope that’s clear enough. I thought we were already there with all of that. Is that not the case ?

jay-meister commented 7 years ago

Thanks for spelling it out, I will copy this process into our documentation so any new developer can take a look before asking you again.

Most of that I am clear with and is how I had understood it to work. I think this is the logic that I wasn't sure about:

The email/letter goes to any member who has an unpaid Sub Charge within those dates

From what I understand, the email/letter should go to anyone who has:

Dicul commented 7 years ago

Correct, yes

jay-meister commented 7 years ago

It seems like there is confusion over the standing order correspondence. For clarity, I am copying over the current SO status of all members on the staging app:

+-----------+-----------------------+----------------+
| id        | primary_email         | standing_order |
+-----------+-----------------------+----------------+
|      1002 | jmurphy.web@gmail.com |              0 |
|      1003 | andrew@smelly.com     |              0 |
|      1004 | alan@watts.com        |              0 |
|      1111 | riche800@outlook.com  |              0 |
|      5452 | NULL                  |              0 |
|      5454 | NULL                  |              0 |
|      6436 | NULL                  |              0 |
|     33123 | house@foch.org        |              0 |
|     34345 | NULL                  |              0 |
|    433893 | richardeeee@foch.org  |              0 |
|    471663 | wil@foch.org          |              0 |
|    471800 | bes@foch.org          |              0 |
|    471893 | admin@foch.org        |              0 |
|  93872354 | NULL                  |              0 |
| 454593312 | NULL                  |              0 |
| 933123458 | NULL                  |              0 |
| 933123874 | NULL                  |              0 |
| 933145452 | NULL                  |              0 |
| 933145458 | NULL                  |              0 |
| 933148754 | NULL                  |              0 |
| 933454518 | NULL                  |              0 |
| 933458745 | NULL                  |              0 |
| 933487545 | NULL                  |              0 |
| 933871245 | NULL                  |              0 |
| 934487545 | NULL                  |              0 |
| 938731234 | NULL                  |              0 |
| 938734545 | NULL                  |              0 |
| 938745453 | NULL                  |              0 |
| 945453312 | NULL                  |              0 |
| 987345453 | NULL                  |              0 |
| 987454533 | NULL                  |              0 |
| 987454534 | NULL                  |              0 |
| 987454535 | NULL                  |              0 |
| 987454536 | NULL                  |              0 |
| 987454537 | NULL                  |              0 |
+-----------+-----------------------+----------------+
jay-meister commented 7 years ago

I have removed all standing order correspondence.

Dicul commented 7 years ago

That’s great Jack. Thanks so much. Will get to testing it – but rather busy bank holiday weekend comes first

R

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Jack Murphymailto:notifications@github.com Sent: 27 August 2017 08:20 To: foundersandcoders/sail-backmailto:sail-back@noreply.github.com Cc: Diculmailto:riche80@outlook.com; Mentionmailto:mention@noreply.github.com Subject: Re: [foundersandcoders/sail-back] Create subs due tab (#522)

I have removed all standing order correspondence.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/foundersandcoders/sail-back/issues/522#issuecomment-325181702, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWKniSbZbF5W2zBi4r2huGzld8OV0OFQks5scRi3gaJpZM4Olp6a.

jay-meister commented 7 years ago

New comment:

One small problem is with member No 987454574 (email is b@b.com) who has Due Date 30/9 and SO set to True. When I run Subs Due for 1/9/19 to 30/9/17 a sub charge is correctly made to his account. But he doesn’t show in the listing of members to whom a sub charge for Sept has been made.

If I set SO to False then the sub charge is made to his account and he does appear in the listing

Can you correct it so that he appears in the listing when sub charge is made with SO set to True please.