Closed Bug 870502 Opened 11 years ago Closed 10 years ago

AJAXify the newsletter signup forms

Categories

(www.mozilla.org :: Newsletters, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: pmac, Assigned: pmac)

References

Details

(Whiteboard: [kb=1419348] )

Attachments

(1 file)

The forms all currently submit to the page their on, which a middleware detects and handles. It's a bit janky and the page has to be scrolled down to see the success/failure message.

I'd like to convert these all to submit async, with a fallback to a normal submit. I'd like the endpoint to be a single URL so we can remove this middleware. We send a "source_url" key with the newsletter data anyway, so redirecting back to the page on success or failure when dealing with non-ajax request will be easy.

The form should collapse to a spinner on submit, and display the result message when finished.
Also: The reworked forms should include CSRF protection. There are instructions for dealing with this in ajax submissions in the django docs.
Hi,

 I would like to work on this bug but it's my first time to work on. Can anybody guide me on how to get started with it? 

Thanks a lot.
(In reply to Gobelinus from comment #2)

If you know Django and jQuery you're half way there :) You'll first need to get bedrock running on your machine. Try following the steps in the documentation[0], and if that doesn't work, join us on IRC[1] on the irc.mozilla.org server in the #www channel and we'll troubleshoot from there.

[0] http://bedrock.readthedocs.org/en/latest/
[1] https://wiki.mozilla.org/IRC
Hi, 

I would love to work on this issue. Please could you let me know how to start. I have experience working on Django and jQuery. 

Looking forward for reply.

Thank you,
Mandar.
(In reply to Mandar Deshpande from comment #4)
> I would love to work on this issue. Please could you let me know how to
> start. I have experience working on Django and jQuery. 

You should first check with Gobelinus (see comment #2) to make sure you're not duplicating work. If not, see pmac's comment #3 for some places to start. Then look at bedrock/base/templates/macros.html and bedrock/newsletter/middleware.py.

And thanks for the offer!
(In reply to Gobelinus from comment #2)
> Hi,
> 
>  I would like to work on this bug but it's my first time to work on. Can
> anybody guide me on how to get started with it? 
> 
> Thanks a lot.
Hi Gobelinus,

Wanted to know if you have started working on this issue. Please do let me know the status of same.

Thanks,
Mandar.
(In reply to Mandar Deshpande from comment #6)
> (In reply to Gobelinus from comment #2)
> > Hi,
> > 
> >  I would like to work on this bug but it's my first time to work on. Can
> > anybody guide me on how to get started with it? 
> > 
> > Thanks a lot.
> Hi Gobelinus,
> 
> Wanted to know if you have started working on this issue. Please do let me
> know the status of same.
> 
> Thanks,
> Mandar.

I hit a few bumps while installing bedrock, turned out to be a bug with django. https://code.djangoproject.com/ticket/5846. Workaround worked for me.

I have started working on afterwards. 

Thanks
Any updates on this? Is it already in progress, or could someone else take it?
this is what I have done so far,

* Created a new view
* added subscribe form to request context using a context processor
* removed middleware

TODO:

* submit form using ajax
* csrf protection.
Assignee: nobody → gobelinus
Hi Gobelinus. How is this coming?  Need any help?
Assignee: gobelinus → nobody
Hi i can finish this Issue, have experience with Python and Javascript. I have bedrock installed on my machine by now. I can put the crfs token as a meta tag and submit the form via Ajax
Thanks Dairon!
I would want to fix this bug please help me out to make a start. This is my first time
Anusha - can you provide more information on what you need help with?
Ben can I mail you as such?
B/w yes i did download one of the tar.bz2 file and tried to compile by downloading other related packages and yet not able to run it.
Anusha - see comment #3 above to help get you started.
Anusha - sure feel free to email me. Also #webdev or #webprod is the best place to ask for quick help.
Anusha,
Just wanted to see if you were still interested in taking this bug. Let us know either way and if there's anything you need from us to get started.
Flags: needinfo?(anusha91rao)
(In reply to Mike Alexis [:malexis] from comment #18)
> Anusha,
> Just wanted to see if you were still interested in taking this bug. Let us
> know either way and if there's anything you need from us to get started.

Mike,
Yes I'm interested in taking this bug and I'll start right away
Thank you :)
Flags: needinfo?(anusha91rao)
(In reply to Anusha from comment #19)
> Yes I'm interested in taking this bug and I'll start right away
> Thank you :)

Hi Anusha, just checking in here. Anything we can do to help?
Anusha, are you still interested in taking this? This is still a priority and we could use the help. Let me know if you have any questions.
Flags: needinfo?(anusha91rao)
Hi.I'm interested in this .
Hi Balaji,

We've not heard back from Anusha in a while so I'm assigning this to you. Thanks for the help! Let me know if you need anything.
Assignee: nobody → fossbalaji
Flags: needinfo?(anusha91rao)
Thanks . Ya sure .
Hello Balaji,

Can you please let me know whether you have started working on this issue.

Thanks,
Luv.
Hi, I would like to work on this issue, can somebody guide me?
Mentor: pmac
Whiteboard: [mentor=pmac@mozilla.com]
Mentor: pmac
I'm going to knock this one out. It's been open for a while, and it turns out to be quite a bit more complex than I first thought. Hopefully we'll have more good mentored bugs soon. Thanks very much to all who helped and offered to help.
Assignee: fossbalaji → pmac
Whiteboard: [kb=1419348]
This is ready for review. As soon as I get some approval of the code I'll put it on a demo server for functional testing.
Status: NEW → ASSIGNED
Commits pushed to master at https://github.com/mozilla/bedrock

https://github.com/mozilla/bedrock/commit/0af9f8abcab89977d3ca076883aee39f943923c8
Bug 870502: Ajaxify newsletter forms

https://github.com/mozilla/bedrock/commit/c40970e6b85bf559dee950ad579a955983fc0977
Bug 870502: Add newsletter thank you CSS animation

https://github.com/mozilla/bedrock/commit/7326a4ab2a124831088c3cace8e6a9f54516356f
Bug 870502: Fix contribute page newsletter form.

* Add basket failure tests for subscribe view.

https://github.com/mozilla/bedrock/commit/4136b6eae72314d49c34e63c893a33985283acf9
Bug 870502: Fix contribute form JS and tidy up newsletter CSS

* Tidy up some more newsletter CSS
* Address minor JS review comments

https://github.com/mozilla/bedrock/commit/4be12f6c2e3f1cb165327ddac489b72a4d8c8c15
Merge pull request #2193 from pmclanahan/ajaxify-newsletters-870502

Bug 870502: Ajaxify newsletter forms
This bug was resolved in comment #29 and has been in production for a couple of weeks now.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: