Skip to content

Commit

Permalink
Revert "[bug 859564] University Ambassadors form."
Browse files Browse the repository at this point in the history
This reverts commit fa5da4b.
  • Loading branch information
pmac committed May 6, 2013
1 parent ab74077 commit 1f1154a
Show file tree
Hide file tree
Showing 8 changed files with 5 additions and 336 deletions.
126 changes: 2 additions & 124 deletions apps/mozorg/forms.py
Expand Up @@ -11,21 +11,17 @@

from django import forms
from django.conf import settings
from django.forms import ValidationError, widgets
from django.forms import widgets
from django.utils.safestring import mark_safe

import basket
from basket.base import request

from captcha.fields import ReCaptchaField
from l10n_utils.dotlang import _
from l10n_utils.dotlang import _lazy
from product_details import product_details

from .email_contribute import INTEREST_CHOICES


FORMATS = (('H', _lazy('HTML')), ('T', _lazy('Text')))
FORMATS = (('H', 'HTML'), ('T', 'Text'))
LANGS = settings.NEWSLETTER_LANGUAGES
LANGS_TO_STRIP = ['en-US', 'es']
PARENTHETIC_RE = re.compile(r' \([^)]+\)$')
Expand Down Expand Up @@ -179,121 +175,3 @@ class WebToLeadForm(forms.Form):
# uncomment below to debug salesforce
# debug = forms.IntegerField(required=False)
# debugEmail = forms.EmailField(required=False)


class ContributeUniversityAmbassadorForm(forms.Form):
first_name = forms.CharField(max_length=50)
last_name = forms.CharField(max_length=50)
email = forms.EmailField(max_length=100)
current_status = forms.ChoiceField(
choices=(('', _lazy('Current Status')),
('student', _lazy('Student')), ('teacher', _lazy('Teacher')),
('administrator', _lazy('Administrator')),
('other', _lazy('Other'))))
school = forms.CharField(max_length=100)
expected_graduation_year = forms.ChoiceField(
required=False,
choices=([('', _lazy('Expected Graduation Year'))] +
[(i, str(i)) for i in range(datetime.now().year,
datetime.now().year+8)]))
area = forms.ChoiceField(
required=False,
choices =[('', _lazy('Area of Study')),
('computer science', _lazy('Computer Science')),
('computer engineering', _lazy('Computer Engineering')),
('engineering', _lazy('Engineering (other)')),
('social science', _lazy('Social Science')),
('science', _lazy('Science (other)')),
('business/marketing', _lazy('Business/Marketing')),
('education', _lazy('Education')),
('mathematics', _lazy('Mathematics')),
('other', _lazy('Other'))])
area_free_text = forms.CharField(max_length=100, required=False)
city = forms.CharField(max_length=100)
country = forms.ChoiceField()
fmt = forms.ChoiceField(widget=forms.RadioSelect(renderer=SideRadios),
label=_lazy('Email format preference:'),
choices=FORMATS, initial='H')
age_confirmation = forms.BooleanField(
widget=widgets.CheckboxInput(),
label=_lazy(u'I’m 18 years old and eligible to participate in '
'the program'))
share_information = forms.BooleanField(
required=False,
widget=widgets.CheckboxInput(),
label=_lazy(u'Please share my contact information and interests with '
'related Mozilla contributors for the purpose of '
'collaborating on Mozilla projects'))
privacy = forms.BooleanField(widget=PrivacyWidget)
nl_mozilla_and_you = forms.BooleanField(
required=False,
widget=widgets.CheckboxInput(),
label=_lazy(u'Firefox & You: A monthly newsletter packed with tips to'
' improve your browsing experience'))
nl_mobile = forms.BooleanField(
required=False,
widget=widgets.CheckboxInput(),
label=_lazy(u'Firefox for Android: Get the power of Firefox in the'
' palm of your hand'))
nl_firefox_flicks = forms.BooleanField(
required=False,
widget=widgets.CheckboxInput(),
label=_lazy(u'Firefox Flicks'))
nl_about_mozilla = forms.BooleanField(
required=False,
widget=widgets.CheckboxInput(),
label=_lazy(u'About Mozilla: News from the Mozilla Project'))
captcha = ReCaptchaField(attrs={'theme': 'clean'})

def __init__(self, *args, **kwargs):
locale = kwargs.get('locale', 'en-US')
super(ContributeUniversityAmbassadorForm, self).__init__(*args, **kwargs)
country_list = product_details.get_regions(locale).items()
country_list = sorted(country_list, key=lambda country: country[1])
country_list.insert(0, ('', _('Country')))
self.fields['country'].choices = country_list

def clean(self, *args, **kwargs):
super(ContributeUniversityAmbassadorForm, self).clean(*args, **kwargs)
if (self.cleaned_data['current_status'] == 'student'
and not self.cleaned_data['expected_graduation_year']):
raise ValidationError(_('Select graduation year'))
return self.cleaned_data

def clean_expected_graduation_year(self):
return self.cleaned_data.get('expected_graduation_year', '')

def clean_area(self):
return self.cleaned_data.get('area_free_field',
self.cleaned_data['area'])

def clean_share_information(self):
if self.cleaned_data.get('share_information', False):
return 'Y'
return 'N'

def newsletters(self):
newsletters = ['student-ambassadors']
for newsletter in ['nl_mozilla_and_you', 'nl_mobile',
'nl_firefox_flicks', 'nl_about_mozilla']:
if self.cleaned_data.get(newsletter, False):
newsletters.append(newsletter[3:].replace('_','-'))
return ','.join(newsletters)

def save(self):
data = self.cleaned_data
result = basket.subscribe(data['email'], self.newsletters(),
format=data['fmt'], country=data['country'],
welcome_message='Student_Ambassadors_Welcome')

data = {'FIRST_NAME': data['first_name'],
'LAST_NAME': data['last_name'],
'STUDENTS_CURRENT_STATUS': data['current_status'],
'STUDENTS_SCHOOL': data['school'],
'STUDENTS_GRAD_YEAR': data['expected_graduation_year'],
'STUDENTS_MAJOR': data['area'],
'COUNTRY': data['country'],
'STUDENTS_CITY': data['city'],
'STUDENTS_ALLOW_SHARE': data['share_information']}
request('post', 'custom_student_ambassadors', token=result['token'],
data=data)
112 changes: 0 additions & 112 deletions apps/mozorg/templates/mozorg/contribute_university_ambassadors.html

This file was deleted.

42 changes: 0 additions & 42 deletions apps/mozorg/tests/test_views.py
Expand Up @@ -31,48 +31,6 @@ def test_hacks_newsletter_frames_allow(self):
ok_('x-frame-options' not in resp)


class TestUniversityAmbassadors(TestCase):
@patch.object(ReCaptchaField, 'clean', Mock())
@patch('mozorg.forms.request')
@patch('mozorg.forms.basket.subscribe')
def test_subscribe(self, mock_subscribe, mock_request):
mock_subscribe.return_value = {'token': 'token-example',
'status': 'ok',
'created': 'True'}
c = Client()
data = {'email': u'dude@example.com',
'country': 'gr',
'fmt': 'H',
'first_name': 'foo',
'last_name': 'bar',
'current_status': 'teacher',
'school': 'TuC',
'city': 'Chania',
'age_confirmation': 'on',
'expected_graduation_year': '',
'nl_about_mozilla': 'on',
'area': '',
'area_free_text': '',
'privacy': 'True'}
request_data = {'FIRST_NAME': data['first_name'],
'LAST_NAME': data['last_name'],
'STUDENTS_CURRENT_STATUS': data['current_status'],
'STUDENTS_SCHOOL': data['school'],
'STUDENTS_GRAD_YEAR': data['expected_graduation_year'],
'STUDENTS_MAJOR': data['area'],
'COUNTRY': data['country'],
'STUDENTS_CITY': data['city'],
'STUDENTS_ALLOW_SHARE': 'N'}
with self.activate('en-US'):
c.post(reverse('mozorg.contribute_university_ambassadors'), data)
mock_subscribe.assert_called_with(
data['email'], 'student-ambassadors,about-mozilla', format=u'H', country=u'gr',
welcome_message='Student_Ambassadors_Welcome')
mock_request.assert_called_with('post', 'custom_student_ambassadors',
token='token-example',
data=request_data)


@patch.object(l10n_utils, 'lang_file_is_active', lambda *x: True)
class TestContribute(TestCase):
def setUp(self):
Expand Down
2 changes: 0 additions & 2 deletions apps/mozorg/urls.py
Expand Up @@ -40,8 +40,6 @@
name='mozorg.contribute_embed',
kwargs={'template': 'mozorg/contribute-embed.html',
'return_to_form': False}),
url('^contribute/universityambassadors/$', views.contribute_university_ambassadors,
name='mozorg.contribute_university_ambassadors'),
url(r'^about/partnerships/contact-bizdev/$', views.contact_bizdev,
name='about.partnerships.contact-bizdev'),
url(r'^plugincheck/$',
Expand Down
24 changes: 3 additions & 21 deletions apps/mozorg/views.py
Expand Up @@ -15,13 +15,11 @@
import requests
from commonware.decorators import xframe_allow
from funfactory.urlresolvers import reverse
from l10n_utils.dotlang import _

from firefox import version_re
from firefox.utils import is_current_or_newer
from mozorg import email_contribute
from mozorg.forms import (ContributeForm, ContributeUniversityAmbassadorForm,
NewsletterForm, WebToLeadForm)
from mozorg.forms import ContributeForm, NewsletterForm, WebToLeadForm
from mozorg.util import hide_contrib_form


Expand Down Expand Up @@ -73,8 +71,8 @@ def contribute(request, template, return_to_form):
newsletter_success = True
except basket.BasketException:
msg = newsletter_form.error_class(
[_('We apologize, but an error occurred in our system. '
'Please try again later.')]
['We apologize, but an error occurred in our system.'
'Please try again later.']
)
newsletter_form.errors['__all__'] = msg
else:
Expand Down Expand Up @@ -163,19 +161,3 @@ def plugincheck(request, template='mozorg/plugincheck.html'):
}

return l10n_utils.render(request, template, data)

@csrf_exempt
def contribute_university_ambassadors(request):
form = ContributeUniversityAmbassadorForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
try:
form.save()
except basket.BasketException:
msg = form.error_class(
[_('We apologize, but an error occurred in our system. '
'Please try again later.')])
form.errors['__all__'] = msg

return l10n_utils.render(request,
'mozorg/contribute_university_ambassadors.html',
{'form':form})
10 changes: 0 additions & 10 deletions media/css/contribute-form.less
Expand Up @@ -13,12 +13,6 @@
float: left;
}

.form-row-students {
width: auto;
padding-bottom: 24px;
clear: both;
}

.form-column-1 {
.span(3);
h3 {
Expand Down Expand Up @@ -78,9 +72,6 @@
padding-bottom: @baseLine / 2;
}

.hide {
display:none;
}
}

#help-form.has-errors {
Expand All @@ -89,7 +80,6 @@

.js #form-details { display: none; }


/* Tablet Layout: 760px */
@media only screen and (min-width: @breakTablet) and (max-width: @breakDesktop) {

Expand Down

0 comments on commit 1f1154a

Please sign in to comment.