We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
In the Poll Blueprint we refer to the OPIN App
**URL:** https://opin.me/en/dashboard/organisations/opin/blueprints/
**user:** All
**expected behaviour:** 
Run customizable, multi-step polls on OPIN to get detailed opinions on topics from the public or your members. 
Phase 1: Answer the questions and comment on the poll.

**behaviour:** 

Run customizable, multi-step polls on OPIN to get detailed opinions on topics from the public or your members. **Via the OPIN polling app for iOS and Android these polls are also accessible on smartphones.**
Phase 1: Answer the questions and comment on the poll.

**important screensize:**
**device & browser:** 
**Comment/Question:** 
I already changed the text in transifex in the other languages
Screenshot?
<img width="1309" alt="Bildschirmfoto 2022-03-04 um 08 21 10" src="https://user-images.githubusercontent.com/52459078/156718032-d5fa18af-d297-4288-9c0d-e8818940f555.png">



--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `euth/blueprints/blueprints.py`
Content:
```
1 from collections import namedtuple
2 from enum import Enum
3 from enum import unique
4 
5 from django.utils.translation import gettext_lazy as _
6 
7 from adhocracy4.polls import phases as poll_phases
8 from euth.communitydebate import phases as communitydebate_phases
9 from euth.documents import phases as documents_phases
10 from euth.ideas import phases as ideas_phases
11 from euth.maps import phases as map_phases
12 
13 from .names import BlueprintNames
14 
15 
16 class BlueprintEnum(Enum):
17     def __new__(cls, value, label):
18         obj = object.__new__(cls)
19         obj._value_ = len(cls.__members__) + 1
20         obj._value = value
21         obj.label = label
22         return obj
23 
24     @property
25     def value(self):
26         return self._value
27 
28     @classmethod
29     def get(cls, value):
30         return next(m for m in cls if m._value == value)
31 
32 
33 @unique
34 class Aim(Enum):
35     collect_ideas = (
36         'collect_ideas',
37         _('Create and collect new ideas or visions.'),
38         [_('(Urban) planning processes'),
39          _('Develop concepts or guiding principles')]
40     )
41     discuss_topic = (
42         'discuss_topic',
43         _('Gather feedback on a topic and discuss it in greater detail.'),
44         [_('Discuss existing concepts or plans'),
45          _('Develop solutions for existing problems')]
46     )
47     agenda_setting = (
48         'agenda_setting',
49         _('Agenda Setting'),
50         [_('Set the agenda of an event, a process, a project etc.')]
51     )
52     design_place = (
53         'design_place',
54         _('Design a place.'),
55         [_('(Urban) planning processes'),
56          _('Small scale design projects, e.g. renew your premises')]
57     )
58     run_survey = (
59         'run_survey',
60         _('Learn about what people like most.'),
61         [_('Opinion polls, majority votes etc.')]
62     )
63     run_competition = (
64         'run_competition',
65         _('Run a competition.'),
66         [_('All sorts of competitions, '
67            'like idea contests etc.')]
68     )
69     work_document = (
70         'work_document',
71         _('Work together with other people on a text document.'),
72         [_('Draft or revise statutes, articles, charters etc.'),
73          _('Involve different authors in writing a shared text')]
74     )
75     communitydebate = (
76         'communitydebate',
77         _('Find and debate topics and questions.'),
78         [_('Start a discussion and moderate it'),
79          _('Participants can upload documents to deepen the exchange '
80            'and share information')]
81     )
82 
83     def __new__(cls, value, label, examples):
84         obj = object.__new__(cls)
85         obj._value_ = value
86         obj.label = label
87         obj.examples = examples
88         return obj
89 
90 
91 @unique
92 class Result(BlueprintEnum):
93     collect_ideas = 3, _('Collection of commented ideas')
94     majority_vote = 2, _('Majority vote')
95     both = 1, _('Both')
96 
97 
98 @unique
99 class Experience(BlueprintEnum):
100     five_projects = 4, _('More than 5 participative projects')
101     two_projects = 3, _('More than 2 participative projects')
102     one_project = 2, _('1-2 participative projects')
103     no_projects = 1, _('I have no experiences in organising '
104                        'participative projects')
105 
106 
107 class Motivation(BlueprintEnum):
108     high = 4, _('High motivation')
109     medium = 3, _('Medium motivation')
110     low = 2, _('Low motivation')
111     not_found = 1, _('No motivation')
112     unkown = 2, _('I don\'t know.')
113 
114 
115 @unique
116 class Participants(BlueprintEnum):
117     few = 0, '< 25'
118     some = 1, '25-50'
119     many = 2, '50+'
120 
121 
122 @unique
123 class Duration(BlueprintEnum):
124     one_weeks = 0, _('1-2 weeks')
125     two_weeks = 1, _('2-4 weeks')
126     four_weeks = 2, _('more than 4 weeks')
127 
128 
129 @unique
130 class Scope(BlueprintEnum):
131     local = 0, _('Local')
132     regional = 1, _('Regional')
133     national = 2, _('National or international')
134 
135 
136 class Accessibility(BlueprintEnum):
137     very_easy = 1, _('Very easy to access')
138     easy = 2, _('Easy to access')
139     hard = 3, _('Hard to access')
140     very_hard = 4, _('Very hard to access')
141     unkown = 3, _('I don\'t know')
142 
143 
144 ComplexityVector = namedtuple(
145     'ComplexityVector', [
146         'participants', 'duration', 'scope'
147     ]
148 )
149 
150 
151 COMPLEXITY_VECTOR_AC = ComplexityVector(
152     participants=(0, 0.5),
153     duration=(0, 1),
154     scope=(0, 0.5)
155 )
156 
157 COMPLEXITY_VECTOR_BD = ComplexityVector(
158     participants=(0, 1),
159     duration=(0, 1),
160     scope=(0, 1)
161 )
162 
163 COMPLEXITY_VECTOR_E = ComplexityVector(
164     participants=(0, 1 / 3),
165     duration=(0, 0),
166     scope=(0, 1 / 3)
167 )
168 
169 COMPLEXITY_VECTOR_F = ComplexityVector(
170     participants=(1, 1),
171     duration=(0, 1),
172     scope=(0, 0)
173 )
174 
175 Requirements = namedtuple(
176     'Requirements', [
177         'aims', 'results', 'experience', 'motivation'
178     ])
179 
180 
181 Blueprint = namedtuple(
182     'Blueprint', [
183         'title', 'description', 'content', 'image', 'settings_model',
184         'requirements', 'complexity', 'type'
185     ])
186 
187 
188 blueprints = [
189     (BlueprintNames.brainstorming.value,
190      Blueprint(
191          title=_('Brainstorming'),
192          description=_('Collect ideas, questions and input concerning '
193                        'a problem or a question from a wide array of people.'),
194          content=[
195              ideas_phases.CollectPhase(),
196          ],
197          image='images/brainstorming.png',
198          settings_model=None,
199          requirements=Requirements(
200              aims=[Aim.collect_ideas, Aim.discuss_topic],
201              results=[Result.collect_ideas],
202              experience=Experience.no_projects,
203              motivation=Motivation.not_found
204          ),
205          complexity=COMPLEXITY_VECTOR_AC,
206          type=BlueprintNames.brainstorming.name
207      )),
208     (BlueprintNames.map_brainstorming.value,
209      Blueprint(
210          title=_('Spatial Brainstorming'),
211          description=_('Collect ideas, questions and input concerning a '
212                        'problem or a question from a wide array of people.'),
213          content=[
214              map_phases.CollectPhase(),
215          ],
216          image='images/spatial_brainstorming.png',
217          settings_model=('a4maps', 'AreaSettings'),
218          requirements=Requirements(
219              aims=[Aim.design_place],
220              results=[Result.collect_ideas],
221              experience=Experience.no_projects,
222              motivation=Motivation.not_found
223          ),
224          complexity=COMPLEXITY_VECTOR_AC,
225          type=BlueprintNames.map_brainstorming.name
226      )),
227     (BlueprintNames.idea_challenge.value,
228      Blueprint(
229          title=_('Idea Challenge'),
230          description=_('Run a challenge and find the best ideas to solve '
231                        'a particular problem.'),
232          content=[
233              ideas_phases.CollectPhase(),
234              ideas_phases.RatingPhase(),
235          ],
236          image='images/challenge.png',
237          settings_model=None,
238          requirements=Requirements(
239              aims=[Aim.run_competition, Aim.run_survey],
240              results=list(Result),
241              experience=Experience.one_project,
242              motivation=Motivation.low
243          ),
244          complexity=COMPLEXITY_VECTOR_BD,
245          type=BlueprintNames.idea_challenge.name
246      )),
247     (BlueprintNames.map_idea_challenge.value,
248      Blueprint(
249          title=_('Spatial Idea Challenge'),
250          description=_('Run a challenge concerning a certain area or space in '
251                        'your community and find the best ideas to solve a '
252                        'particular problem.'),
253          content=[
254              map_phases.CollectPhase(),
255              map_phases.RatingPhase(),
256          ],
257          image='images/spatial_challenge.png',
258          settings_model=('a4maps', 'AreaSettings'),
259          requirements=Requirements(
260              aims=[Aim.design_place],
261              results=list(Result),
262              experience=Experience.one_project,
263              motivation=Motivation.low
264          ),
265          complexity=COMPLEXITY_VECTOR_BD,
266          type=BlueprintNames.map_idea_challenge.name
267      )),
268     (BlueprintNames.agenda_setting.value,
269      Blueprint(
270          title=_('Agenda Setting'),
271          description=_('You can involve everyone in planning a meeting. '
272                        'Collect ideas for an upcoming event and let your '
273                        'participants vote on the topics you want to tackle.'),
274          content=[
275              ideas_phases.CollectPhase(),
276              ideas_phases.RatingPhase(),
277          ],
278          image='images/agenda_setting.png',
279          settings_model=None,
280          requirements=Requirements(
281              aims=[Aim.collect_ideas, Aim.discuss_topic,
282                    Aim.run_survey, Aim.agenda_setting],
283              results=list(Result),
284              experience=Experience.one_project,
285              motivation=Motivation.low
286          ),
287          complexity=COMPLEXITY_VECTOR_AC,
288          type=BlueprintNames.agenda_setting.name
289      )),
290     (BlueprintNames.commenting_text.value,
291      Blueprint(
292          title=_('Text Review'),
293          description=_('Let participants discuss individual paragraphs of a '
294                        'text. This is ideal for discussing position papers or '
295                        'a mission statements with many people.'),
296          content=[
297              documents_phases.CreateDocumentPhase(),
298              documents_phases.CommentPhase(),
299          ],
300          image='images/text_review.png',
301          settings_model=None,
302          requirements=Requirements(
303              aims=[Aim.work_document],
304              results=None,
305              experience=None,
306              motivation=None
307          ),
308          complexity=COMPLEXITY_VECTOR_F,
309          type=BlueprintNames.commenting_text.name
310      )),
311     (BlueprintNames.a4_poll.value,
312      Blueprint(
313          title=_('Poll'),
314          description=_('Run customizable, multi-step polls on OPIN to get '
315                        'detailed opinions on topics from the public or your '
316                        'members. Via the OPIN polling app for iOS and Android '
317                        'these polls are also accessible on smartphones.'),
318          content=[
319              poll_phases.VotingPhase(),
320          ],
321          image='images/poll.png',
322          settings_model=None,
323          requirements=Requirements(
324              aims=[Aim.run_survey],
325              results=[Result.majority_vote],
326              experience=Experience.no_projects,
327              motivation=Motivation.not_found
328          ),
329          complexity=COMPLEXITY_VECTOR_E,
330          type=BlueprintNames.a4_poll.name
331      )),
332     (BlueprintNames.communitydebate.value,
333      Blueprint(
334          title=_('Community debate'),
335          description=_('Collect topics and questions to discuss, '
336                        'debate and prioritize them.'),
337          content=[
338              communitydebate_phases.DebatePhase(),
339          ],
340          image='images/brainstorming.png',
341          settings_model=None,
342          requirements=Requirements(
343              aims=[Aim.communitydebate],
344              results=[Result.both],
345              experience=Experience.no_projects,
346              motivation=Motivation.not_found
347          ),
348          complexity=COMPLEXITY_VECTOR_AC,
349          type=BlueprintNames.communitydebate.name
350      )),
351 ]
352 
353 
354 fallbacks = {
355     Aim.collect_ideas: BlueprintNames.brainstorming.value,
356     Aim.discuss_topic: BlueprintNames.brainstorming.value,
357     Aim.agenda_setting: BlueprintNames.agenda_setting.value,
358     Aim.design_place: BlueprintNames.map_brainstorming.value,
359     Aim.run_survey: BlueprintNames.a4_poll.value,
360     Aim.run_competition: BlueprintNames.agenda_setting.value,
361     Aim.work_document: BlueprintNames.commenting_text.value,
362     Aim.communitydebate: BlueprintNames.communitydebate.value
363 }
364
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/euth/blueprints/blueprints.py b/euth/blueprints/blueprints.py
--- a/euth/blueprints/blueprints.py
+++ b/euth/blueprints/blueprints.py
@@ -313,8 +313,7 @@
          title=_('Poll'),
          description=_('Run customizable, multi-step polls on OPIN to get '
                        'detailed opinions on topics from the public or your '
-                       'members. Via the OPIN polling app for iOS and Android '
-                       'these polls are also accessible on smartphones.'),
+                       'members.'),
          content=[
              poll_phases.VotingPhase(),
          ],

{"golden_diff": "diff --git a/euth/blueprints/blueprints.py b/euth/blueprints/blueprints.py\n--- a/euth/blueprints/blueprints.py\n+++ b/euth/blueprints/blueprints.py\n@@ -313,8 +313,7 @@\n          title=_('Poll'),\n          description=_('Run customizable, multi-step polls on OPIN to get '\n                        'detailed opinions on topics from the public or your '\n-                       'members. Via the OPIN polling app for iOS and Android '\n-                       'these polls are also accessible on smartphones.'),\n+                       'members.'),\n          content=[\n              poll_phases.VotingPhase(),\n          ],\n", "issue": "In the Poll Blueprint we refer to the OPIN App\n**URL:** https://opin.me/en/dashboard/organisations/opin/blueprints/\r\n**user:** All\r\n**expected behaviour:** \r\nRun customizable, multi-step polls on OPIN to get detailed opinions on topics from the public or your members. \r\nPhase 1: Answer the questions and comment on the poll.\r\n\r\n**behaviour:** \r\n\r\nRun customizable, multi-step polls on OPIN to get detailed opinions on topics from the public or your members. **Via the OPIN polling app for iOS and Android these polls are also accessible on smartphones.**\r\nPhase 1: Answer the questions and comment on the poll.\r\n\r\n**important screensize:**\r\n**device & browser:** \r\n**Comment/Question:** \r\nI already changed the text in transifex in the other languages\r\nScreenshot?\r\n<img width=\"1309\" alt=\"Bildschirmfoto 2022-03-04 um 08 21 10\" src=\"https://user-images.githubusercontent.com/52459078/156718032-d5fa18af-d297-4288-9c0d-e8818940f555.png\">\r\n\r\n\n", "before_files": [{"content": "from collections import namedtuple\nfrom enum import Enum\nfrom enum import unique\n\nfrom django.utils.translation import gettext_lazy as _\n\nfrom adhocracy4.polls import phases as poll_phases\nfrom euth.communitydebate import phases as communitydebate_phases\nfrom euth.documents import phases as documents_phases\nfrom euth.ideas import phases as ideas_phases\nfrom euth.maps import phases as map_phases\n\nfrom .names import BlueprintNames\n\n\nclass BlueprintEnum(Enum):\n    def __new__(cls, value, label):\n        obj = object.__new__(cls)\n        obj._value_ = len(cls.__members__) + 1\n        obj._value = value\n        obj.label = label\n        return obj\n\n    @property\n    def value(self):\n        return self._value\n\n    @classmethod\n    def get(cls, value):\n        return next(m for m in cls if m._value == value)\n\n\n@unique\nclass Aim(Enum):\n    collect_ideas = (\n        'collect_ideas',\n        _('Create and collect new ideas or visions.'),\n        [_('(Urban) planning processes'),\n         _('Develop concepts or guiding principles')]\n    )\n    discuss_topic = (\n        'discuss_topic',\n        _('Gather feedback on a topic and discuss it in greater detail.'),\n        [_('Discuss existing concepts or plans'),\n         _('Develop solutions for existing problems')]\n    )\n    agenda_setting = (\n        'agenda_setting',\n        _('Agenda Setting'),\n        [_('Set the agenda of an event, a process, a project etc.')]\n    )\n    design_place = (\n        'design_place',\n        _('Design a place.'),\n        [_('(Urban) planning processes'),\n         _('Small scale design projects, e.g. renew your premises')]\n    )\n    run_survey = (\n        'run_survey',\n        _('Learn about what people like most.'),\n        [_('Opinion polls, majority votes etc.')]\n    )\n    run_competition = (\n        'run_competition',\n        _('Run a competition.'),\n        [_('All sorts of competitions, '\n           'like idea contests etc.')]\n    )\n    work_document = (\n        'work_document',\n        _('Work together with other people on a text document.'),\n        [_('Draft or revise statutes, articles, charters etc.'),\n         _('Involve different authors in writing a shared text')]\n    )\n    communitydebate = (\n        'communitydebate',\n        _('Find and debate topics and questions.'),\n        [_('Start a discussion and moderate it'),\n         _('Participants can upload documents to deepen the exchange '\n           'and share information')]\n    )\n\n    def __new__(cls, value, label, examples):\n        obj = object.__new__(cls)\n        obj._value_ = value\n        obj.label = label\n        obj.examples = examples\n        return obj\n\n\n@unique\nclass Result(BlueprintEnum):\n    collect_ideas = 3, _('Collection of commented ideas')\n    majority_vote = 2, _('Majority vote')\n    both = 1, _('Both')\n\n\n@unique\nclass Experience(BlueprintEnum):\n    five_projects = 4, _('More than 5 participative projects')\n    two_projects = 3, _('More than 2 participative projects')\n    one_project = 2, _('1-2 participative projects')\n    no_projects = 1, _('I have no experiences in organising '\n                       'participative projects')\n\n\nclass Motivation(BlueprintEnum):\n    high = 4, _('High motivation')\n    medium = 3, _('Medium motivation')\n    low = 2, _('Low motivation')\n    not_found = 1, _('No motivation')\n    unkown = 2, _('I don\\'t know.')\n\n\n@unique\nclass Participants(BlueprintEnum):\n    few = 0, '< 25'\n    some = 1, '25-50'\n    many = 2, '50+'\n\n\n@unique\nclass Duration(BlueprintEnum):\n    one_weeks = 0, _('1-2 weeks')\n    two_weeks = 1, _('2-4 weeks')\n    four_weeks = 2, _('more than 4 weeks')\n\n\n@unique\nclass Scope(BlueprintEnum):\n    local = 0, _('Local')\n    regional = 1, _('Regional')\n    national = 2, _('National or international')\n\n\nclass Accessibility(BlueprintEnum):\n    very_easy = 1, _('Very easy to access')\n    easy = 2, _('Easy to access')\n    hard = 3, _('Hard to access')\n    very_hard = 4, _('Very hard to access')\n    unkown = 3, _('I don\\'t know')\n\n\nComplexityVector = namedtuple(\n    'ComplexityVector', [\n        'participants', 'duration', 'scope'\n    ]\n)\n\n\nCOMPLEXITY_VECTOR_AC = ComplexityVector(\n    participants=(0, 0.5),\n    duration=(0, 1),\n    scope=(0, 0.5)\n)\n\nCOMPLEXITY_VECTOR_BD = ComplexityVector(\n    participants=(0, 1),\n    duration=(0, 1),\n    scope=(0, 1)\n)\n\nCOMPLEXITY_VECTOR_E = ComplexityVector(\n    participants=(0, 1 / 3),\n    duration=(0, 0),\n    scope=(0, 1 / 3)\n)\n\nCOMPLEXITY_VECTOR_F = ComplexityVector(\n    participants=(1, 1),\n    duration=(0, 1),\n    scope=(0, 0)\n)\n\nRequirements = namedtuple(\n    'Requirements', [\n        'aims', 'results', 'experience', 'motivation'\n    ])\n\n\nBlueprint = namedtuple(\n    'Blueprint', [\n        'title', 'description', 'content', 'image', 'settings_model',\n        'requirements', 'complexity', 'type'\n    ])\n\n\nblueprints = [\n    (BlueprintNames.brainstorming.value,\n     Blueprint(\n         title=_('Brainstorming'),\n         description=_('Collect ideas, questions and input concerning '\n                       'a problem or a question from a wide array of people.'),\n         content=[\n             ideas_phases.CollectPhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.brainstorming.name\n     )),\n    (BlueprintNames.map_brainstorming.value,\n     Blueprint(\n         title=_('Spatial Brainstorming'),\n         description=_('Collect ideas, questions and input concerning a '\n                       'problem or a question from a wide array of people.'),\n         content=[\n             map_phases.CollectPhase(),\n         ],\n         image='images/spatial_brainstorming.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.map_brainstorming.name\n     )),\n    (BlueprintNames.idea_challenge.value,\n     Blueprint(\n         title=_('Idea Challenge'),\n         description=_('Run a challenge and find the best ideas to solve '\n                       'a particular problem.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/challenge.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_competition, Aim.run_survey],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.idea_challenge.name\n     )),\n    (BlueprintNames.map_idea_challenge.value,\n     Blueprint(\n         title=_('Spatial Idea Challenge'),\n         description=_('Run a challenge concerning a certain area or space in '\n                       'your community and find the best ideas to solve a '\n                       'particular problem.'),\n         content=[\n             map_phases.CollectPhase(),\n             map_phases.RatingPhase(),\n         ],\n         image='images/spatial_challenge.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.map_idea_challenge.name\n     )),\n    (BlueprintNames.agenda_setting.value,\n     Blueprint(\n         title=_('Agenda Setting'),\n         description=_('You can involve everyone in planning a meeting. '\n                       'Collect ideas for an upcoming event and let your '\n                       'participants vote on the topics you want to tackle.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/agenda_setting.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic,\n                   Aim.run_survey, Aim.agenda_setting],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.agenda_setting.name\n     )),\n    (BlueprintNames.commenting_text.value,\n     Blueprint(\n         title=_('Text Review'),\n         description=_('Let participants discuss individual paragraphs of a '\n                       'text. This is ideal for discussing position papers or '\n                       'a mission statements with many people.'),\n         content=[\n             documents_phases.CreateDocumentPhase(),\n             documents_phases.CommentPhase(),\n         ],\n         image='images/text_review.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.work_document],\n             results=None,\n             experience=None,\n             motivation=None\n         ),\n         complexity=COMPLEXITY_VECTOR_F,\n         type=BlueprintNames.commenting_text.name\n     )),\n    (BlueprintNames.a4_poll.value,\n     Blueprint(\n         title=_('Poll'),\n         description=_('Run customizable, multi-step polls on OPIN to get '\n                       'detailed opinions on topics from the public or your '\n                       'members. Via the OPIN polling app for iOS and Android '\n                       'these polls are also accessible on smartphones.'),\n         content=[\n             poll_phases.VotingPhase(),\n         ],\n         image='images/poll.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_survey],\n             results=[Result.majority_vote],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_E,\n         type=BlueprintNames.a4_poll.name\n     )),\n    (BlueprintNames.communitydebate.value,\n     Blueprint(\n         title=_('Community debate'),\n         description=_('Collect topics and questions to discuss, '\n                       'debate and prioritize them.'),\n         content=[\n             communitydebate_phases.DebatePhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.communitydebate],\n             results=[Result.both],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.communitydebate.name\n     )),\n]\n\n\nfallbacks = {\n    Aim.collect_ideas: BlueprintNames.brainstorming.value,\n    Aim.discuss_topic: BlueprintNames.brainstorming.value,\n    Aim.agenda_setting: BlueprintNames.agenda_setting.value,\n    Aim.design_place: BlueprintNames.map_brainstorming.value,\n    Aim.run_survey: BlueprintNames.a4_poll.value,\n    Aim.run_competition: BlueprintNames.agenda_setting.value,\n    Aim.work_document: BlueprintNames.commenting_text.value,\n    Aim.communitydebate: BlueprintNames.communitydebate.value\n}\n", "path": "euth/blueprints/blueprints.py"}], "after_files": [{"content": "from collections import namedtuple\nfrom enum import Enum\nfrom enum import unique\n\nfrom django.utils.translation import gettext_lazy as _\n\nfrom adhocracy4.polls import phases as poll_phases\nfrom euth.communitydebate import phases as communitydebate_phases\nfrom euth.documents import phases as documents_phases\nfrom euth.ideas import phases as ideas_phases\nfrom euth.maps import phases as map_phases\n\nfrom .names import BlueprintNames\n\n\nclass BlueprintEnum(Enum):\n    def __new__(cls, value, label):\n        obj = object.__new__(cls)\n        obj._value_ = len(cls.__members__) + 1\n        obj._value = value\n        obj.label = label\n        return obj\n\n    @property\n    def value(self):\n        return self._value\n\n    @classmethod\n    def get(cls, value):\n        return next(m for m in cls if m._value == value)\n\n\n@unique\nclass Aim(Enum):\n    collect_ideas = (\n        'collect_ideas',\n        _('Create and collect new ideas or visions.'),\n        [_('(Urban) planning processes'),\n         _('Develop concepts or guiding principles')]\n    )\n    discuss_topic = (\n        'discuss_topic',\n        _('Gather feedback on a topic and discuss it in greater detail.'),\n        [_('Discuss existing concepts or plans'),\n         _('Develop solutions for existing problems')]\n    )\n    agenda_setting = (\n        'agenda_setting',\n        _('Agenda Setting'),\n        [_('Set the agenda of an event, a process, a project etc.')]\n    )\n    design_place = (\n        'design_place',\n        _('Design a place.'),\n        [_('(Urban) planning processes'),\n         _('Small scale design projects, e.g. renew your premises')]\n    )\n    run_survey = (\n        'run_survey',\n        _('Learn about what people like most.'),\n        [_('Opinion polls, majority votes etc.')]\n    )\n    run_competition = (\n        'run_competition',\n        _('Run a competition.'),\n        [_('All sorts of competitions, '\n           'like idea contests etc.')]\n    )\n    work_document = (\n        'work_document',\n        _('Work together with other people on a text document.'),\n        [_('Draft or revise statutes, articles, charters etc.'),\n         _('Involve different authors in writing a shared text')]\n    )\n    communitydebate = (\n        'communitydebate',\n        _('Find and debate topics and questions.'),\n        [_('Start a discussion and moderate it'),\n         _('Participants can upload documents to deepen the exchange '\n           'and share information')]\n    )\n\n    def __new__(cls, value, label, examples):\n        obj = object.__new__(cls)\n        obj._value_ = value\n        obj.label = label\n        obj.examples = examples\n        return obj\n\n\n@unique\nclass Result(BlueprintEnum):\n    collect_ideas = 3, _('Collection of commented ideas')\n    majority_vote = 2, _('Majority vote')\n    both = 1, _('Both')\n\n\n@unique\nclass Experience(BlueprintEnum):\n    five_projects = 4, _('More than 5 participative projects')\n    two_projects = 3, _('More than 2 participative projects')\n    one_project = 2, _('1-2 participative projects')\n    no_projects = 1, _('I have no experiences in organising '\n                       'participative projects')\n\n\nclass Motivation(BlueprintEnum):\n    high = 4, _('High motivation')\n    medium = 3, _('Medium motivation')\n    low = 2, _('Low motivation')\n    not_found = 1, _('No motivation')\n    unkown = 2, _('I don\\'t know.')\n\n\n@unique\nclass Participants(BlueprintEnum):\n    few = 0, '< 25'\n    some = 1, '25-50'\n    many = 2, '50+'\n\n\n@unique\nclass Duration(BlueprintEnum):\n    one_weeks = 0, _('1-2 weeks')\n    two_weeks = 1, _('2-4 weeks')\n    four_weeks = 2, _('more than 4 weeks')\n\n\n@unique\nclass Scope(BlueprintEnum):\n    local = 0, _('Local')\n    regional = 1, _('Regional')\n    national = 2, _('National or international')\n\n\nclass Accessibility(BlueprintEnum):\n    very_easy = 1, _('Very easy to access')\n    easy = 2, _('Easy to access')\n    hard = 3, _('Hard to access')\n    very_hard = 4, _('Very hard to access')\n    unkown = 3, _('I don\\'t know')\n\n\nComplexityVector = namedtuple(\n    'ComplexityVector', [\n        'participants', 'duration', 'scope'\n    ]\n)\n\n\nCOMPLEXITY_VECTOR_AC = ComplexityVector(\n    participants=(0, 0.5),\n    duration=(0, 1),\n    scope=(0, 0.5)\n)\n\nCOMPLEXITY_VECTOR_BD = ComplexityVector(\n    participants=(0, 1),\n    duration=(0, 1),\n    scope=(0, 1)\n)\n\nCOMPLEXITY_VECTOR_E = ComplexityVector(\n    participants=(0, 1 / 3),\n    duration=(0, 0),\n    scope=(0, 1 / 3)\n)\n\nCOMPLEXITY_VECTOR_F = ComplexityVector(\n    participants=(1, 1),\n    duration=(0, 1),\n    scope=(0, 0)\n)\n\nRequirements = namedtuple(\n    'Requirements', [\n        'aims', 'results', 'experience', 'motivation'\n    ])\n\n\nBlueprint = namedtuple(\n    'Blueprint', [\n        'title', 'description', 'content', 'image', 'settings_model',\n        'requirements', 'complexity', 'type'\n    ])\n\n\nblueprints = [\n    (BlueprintNames.brainstorming.value,\n     Blueprint(\n         title=_('Brainstorming'),\n         description=_('Collect ideas, questions and input concerning '\n                       'a problem or a question from a wide array of people.'),\n         content=[\n             ideas_phases.CollectPhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.brainstorming.name\n     )),\n    (BlueprintNames.map_brainstorming.value,\n     Blueprint(\n         title=_('Spatial Brainstorming'),\n         description=_('Collect ideas, questions and input concerning a '\n                       'problem or a question from a wide array of people.'),\n         content=[\n             map_phases.CollectPhase(),\n         ],\n         image='images/spatial_brainstorming.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.map_brainstorming.name\n     )),\n    (BlueprintNames.idea_challenge.value,\n     Blueprint(\n         title=_('Idea Challenge'),\n         description=_('Run a challenge and find the best ideas to solve '\n                       'a particular problem.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/challenge.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_competition, Aim.run_survey],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.idea_challenge.name\n     )),\n    (BlueprintNames.map_idea_challenge.value,\n     Blueprint(\n         title=_('Spatial Idea Challenge'),\n         description=_('Run a challenge concerning a certain area or space in '\n                       'your community and find the best ideas to solve a '\n                       'particular problem.'),\n         content=[\n             map_phases.CollectPhase(),\n             map_phases.RatingPhase(),\n         ],\n         image='images/spatial_challenge.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.map_idea_challenge.name\n     )),\n    (BlueprintNames.agenda_setting.value,\n     Blueprint(\n         title=_('Agenda Setting'),\n         description=_('You can involve everyone in planning a meeting. '\n                       'Collect ideas for an upcoming event and let your '\n                       'participants vote on the topics you want to tackle.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/agenda_setting.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic,\n                   Aim.run_survey, Aim.agenda_setting],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.agenda_setting.name\n     )),\n    (BlueprintNames.commenting_text.value,\n     Blueprint(\n         title=_('Text Review'),\n         description=_('Let participants discuss individual paragraphs of a '\n                       'text. This is ideal for discussing position papers or '\n                       'a mission statements with many people.'),\n         content=[\n             documents_phases.CreateDocumentPhase(),\n             documents_phases.CommentPhase(),\n         ],\n         image='images/text_review.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.work_document],\n             results=None,\n             experience=None,\n             motivation=None\n         ),\n         complexity=COMPLEXITY_VECTOR_F,\n         type=BlueprintNames.commenting_text.name\n     )),\n    (BlueprintNames.a4_poll.value,\n     Blueprint(\n         title=_('Poll'),\n         description=_('Run customizable, multi-step polls on OPIN to get '\n                       'detailed opinions on topics from the public or your '\n                       'members.'),\n         content=[\n             poll_phases.VotingPhase(),\n         ],\n         image='images/poll.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_survey],\n             results=[Result.majority_vote],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_E,\n         type=BlueprintNames.a4_poll.name\n     )),\n    (BlueprintNames.communitydebate.value,\n     Blueprint(\n         title=_('Community debate'),\n         description=_('Collect topics and questions to discuss, '\n                       'debate and prioritize them.'),\n         content=[\n             communitydebate_phases.DebatePhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.communitydebate],\n             results=[Result.both],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.communitydebate.name\n     )),\n]\n\n\nfallbacks = {\n    Aim.collect_ideas: BlueprintNames.brainstorming.value,\n    Aim.discuss_topic: BlueprintNames.brainstorming.value,\n    Aim.agenda_setting: BlueprintNames.agenda_setting.value,\n    Aim.design_place: BlueprintNames.map_brainstorming.value,\n    Aim.run_survey: BlueprintNames.a4_poll.value,\n    Aim.run_competition: BlueprintNames.agenda_setting.value,\n    Aim.work_document: BlueprintNames.commenting_text.value,\n    Aim.communitydebate: BlueprintNames.communitydebate.value\n}\n", "path": "euth/blueprints/blueprints.py"}]}