diff --git a/apps/map/forms.py b/apps/map/forms.py
index afa02bf..147adca 100644
--- a/apps/map/forms.py
+++ b/apps/map/forms.py
@@ -15,6 +15,32 @@ from .models import CaseStudy, SpatialRefSys, PointOfInterest
from .widgets import JSONFileListWidget
+SECTOR_HELP = {
+ 'RN': _("including electricity, heat or combined heat and power generation"),
+ 'PG': '',
+ 'ST': _('Biological, chemical, electrical, electromagnetic, electrochemical, mechanical including gravitational potential, thermal etc.'),
+ 'SM': _("including supply of minerals"),
+ 'MA': '',
+}
+
+POWER_TECHNOLOGY_HELP = {
+ 'PT': _('Lines, transformers, machinery etc.'),
+ 'HN': _('District heating/cooling, etc.'),
+ 'OT': '',
+}
+
+def add_explanatory_text(model_choices, explanatory_text):
+ return [
+ (
+ choice[0],
+ mark_safe('%s
%s' %
+ (choice[1], explanatory_text[choice[0]])
+ )
+ ) for choice in model_choices
+ ]
+
+
+
class MinimumZoomWidget(LeafletWidget):
geometry_field_class = 'MinimumZoomField'
@@ -87,6 +113,16 @@ class ShortCaseStudyForm(BaseCaseStudyForm):
self.helper.form_action = reverse('short-form')
self.helper.add_input(Submit('submit', _('Submit'), css_class='btn-success center-block'))
+ # Duplicate code from long form, below...
+ self.fields['sector_of_economy'] = forms.ChoiceField(
+ widget=forms.RadioSelect(),
+ choices=add_explanatory_text(
+ CaseStudy.SECTOR_CHOICES,
+ SECTOR_HELP
+ ),
+ required=False
+ )
+
class Meta(BaseCaseStudyForm.Meta):
fields = [
'entry_name',
@@ -176,32 +212,6 @@ class LongCaseStudyForm(BaseCaseStudyForm):
initial=4326,
)
- SECTOR_HELP = {
- 'RN': _("including electricity, heat or combined heat and power generation"),
- 'PG': '',
- 'ST': _('Biological, chemical, electrical, electromagnetic, electrochemical, mechanical including gravitational potential, thermal etc.'),
- 'SM': _("including supply of minerals"),
- 'MA': '',
- }
-
- POWER_TECHNOLOGY_HELP = {
- 'PT': _('Lines, transformers, machinery etc.'),
- 'HN': _('District heating/cooling, etc.'),
- 'OT': '',
- }
-
- # TODO: Allow explanatory_text to not contain text for every option
- # TODO: Only output if there is explanatory text
- def add_explanatory_text(self, model_choices, explanatory_text):
- return [
- (
- choice[0],
- mark_safe('%s
%s' %
- (choice[1], explanatory_text[choice[0]])
- )
- ) for choice in model_choices
- ]
-
def __init__(self, *args, **kwargs):
super(LongCaseStudyForm, self).__init__(*args, **kwargs)
@@ -210,18 +220,18 @@ class LongCaseStudyForm(BaseCaseStudyForm):
self.fields['sector_of_economy'] = forms.ChoiceField(
widget=forms.RadioSelect(),
- choices=self.add_explanatory_text(
+ choices=add_explanatory_text(
CaseStudy.SECTOR_CHOICES,
- self.SECTOR_HELP
+ SECTOR_HELP
),
required=False
)
self.fields['power_technology'] = forms.ChoiceField(
widget=forms.RadioSelect(),
- choices=self.add_explanatory_text(
+ choices=add_explanatory_text(
CaseStudy.POWER_TECHNOLOGY_CHOICES,
- self.POWER_TECHNOLOGY_HELP
+ POWER_TECHNOLOGY_HELP
),
required=False
)
diff --git a/ojusomap/tests.py b/ojusomap/tests.py
index d9d377f..ee7f3d5 100644
--- a/ojusomap/tests.py
+++ b/ojusomap/tests.py
@@ -119,14 +119,14 @@ class MapTest(SeleniumTest):
self.sl.find_element_by_id('id_entry_name').send_keys('Short Entry');
Select(self.sl.find_element_by_id('id_country')).select_by_visible_text('Albania');
self.sl.find_element_by_id('id_area_of_land').send_keys('123');
- Select(self.sl.find_element_by_id('id_land_ownership')).select_by_visible_text('Private Land');
+ Select(self.sl.find_element_by_id('id_land_ownership')).select_by_visible_text('Private land');
Select(self.sl.find_element_by_id('id_location_context')).select_by_visible_text('Urban');
self.sl.find_element_by_id('id_describe_ecosystem').send_keys('test');
- Select(self.sl.find_element_by_id('id_project_status')).select_by_visible_text('Existing Project');
- Select(self.sl.find_element_by_id('id_sector_of_economy')).select_by_visible_text('Power Grids');
+ Select(self.sl.find_element_by_id('id_project_status')).select_by_visible_text('In planning and design');
+ self.sl.find_element_by_css_selector('[name=sector_of_economy][value=ST]').click()
self.sl.find_element_by_id('id_synopsis').send_keys('test');
self.sl.find_element_by_id('id_full_description').send_keys('test');
- Select(self.sl.find_element_by_id('id_positive_or_negative')).select_by_visible_text('Positive');
+ Select(self.sl.find_element_by_id('id_positive_or_negative')).select_by_visible_text('There is/was an organising process in favour of the project');
# you can submit the form on any field. Using this one because the submit button sometimes isn't visible
self.sl.find_element_by_id('id_area_of_land').submit();
self.assertTrue("Thanks!" in self.sl.page_source, "Success message not shown")
@@ -140,18 +140,18 @@ class MapTest(SeleniumTest):
self.sl.find_element_by_id('id_entry_name').send_keys('Long Entry');
Select(self.sl.find_element_by_id('id_country')).select_by_visible_text('Albania');
self.sl.find_element_by_id('id_area_of_land').send_keys('123');
- Select(self.sl.find_element_by_id('id_land_ownership')).select_by_visible_text('Private Land');
+ Select(self.sl.find_element_by_id('id_land_ownership')).select_by_visible_text('Private land');
Select(self.sl.find_element_by_id('id_location_context')).select_by_visible_text('Urban');
self.sl.find_element_by_id('id_describe_ecosystem').send_keys('test');
- Select(self.sl.find_element_by_id('id_project_status')).select_by_visible_text('Existing Project');
+ Select(self.sl.find_element_by_id('id_project_status')).select_by_visible_text('In planning and design');
self.sl.find_element_by_id('id_synopsis').send_keys('test');
self.sl.find_element_by_id('id_full_description').send_keys('test');
self.sl.find_element_by_id('id_project_owners').send_keys('test');
self.sl.find_element_by_id('id_shareholders').send_keys('test');
self.sl.find_element_by_css_selector('a[href="#technical-and-economic-analysis"]').click()
- Select(self.sl.find_element_by_id('id_sector_of_economy')).select_by_visible_text('Power Grids');
+ self.sl.find_element_by_css_selector('[name=sector_of_economy][value=ST]').click()
self.sl.find_element_by_css_selector('a[href="#socio-environmental-analysis"]').click()
- Select(self.sl.find_element_by_id('id_positive_or_negative')).select_by_visible_text('Positive');
+ Select(self.sl.find_element_by_id('id_positive_or_negative')).select_by_visible_text('There is/was an organising process in favour of the project');
self.sl.find_element_by_css_selector('a[href="#uploads"]').click()
# you can submit the form on any field. Using this one because the submit button sometimes isn't visible
self.sl.find_element_by_id('id_name_of_territory_or_area').submit();