We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Adapt to meinBerlin Changes
- [x] use A4_CATEGORIZABLE (  liqd/a4-meinberlin#893 )
- [x] adapt to project_list_tile templates in user space (liqd/a4-meinberlin#798 liqd/a4-meinberlin#792 liqd/a4-meinberlin#783 ... )
- [x] adapt to project_list_tile templates in dashboard ( liqd/a4-meinberlin#851  ... )
- [x] check if css refactorings should be used in product, too ( liqd/a4-meinberlin#903 liqd/a4-meinberlin#900 liqd/a4-meinberlin#875  liqd/a4-meinberlin#860 liqd/a4-meinberlin#881 liqd/a4-meinberlin#807 liqd/a4-meinberlin#788 ...)
- [x] unifiy admin.pys with meinBerlin
- [x] include 'adhocracy4.rules.apps.RulesConfig', ( liqd/a4-meinberlin#914 )

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `liqd_product/apps/organisations/admin.py`
Content:
```
1 from django.contrib import admin
2 
3 from . import models
4 
5 
6 class OrganisationAdmin(admin.ModelAdmin):
7     raw_id_fields = ('initiators', )
8 
9 
10 admin.site.register(models.Organisation, OrganisationAdmin)
11
```

Path: `liqd_product/config/settings/base.py`
Content:
```
1 """Django settings for _LIQD_PRODUCT_."""
2 
3 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
4 import os
5 
6 CONFIG_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
7 PROJECT_DIR = os.path.dirname(CONFIG_DIR)
8 BASE_DIR = os.path.dirname(PROJECT_DIR)
9 
10 # Application definition
11 
12 INSTALLED_APPS = (
13     'liqd_product.apps.django_overwrites.apps.Config',
14     'django.contrib.sites',
15     'django.contrib.admin',
16     'django.contrib.auth',
17     'django.contrib.contenttypes',
18     'django.contrib.sessions',
19     'django.contrib.messages',
20     'django.contrib.staticfiles',
21     'django.contrib.humanize',
22 
23     'widget_tweaks',
24     'rest_framework',
25     'allauth',
26     'allauth.account',
27     'rules.apps.AutodiscoverRulesConfig',
28     'easy_thumbnails',
29     'ckeditor',
30     'ckeditor_uploader',
31     'capture_tag',
32     'background_task',
33 
34     # Temporary Compatibility layer for a4-meinberlin
35     'liqd_product.apps.compatibility.apps.Config',
36 
37     # General adhocracy 4 components
38     'adhocracy4.actions.apps.ActionsConfig',
39     'adhocracy4.categories.apps.CategoriesConfig',
40     'adhocracy4.comments.apps.CommentsConfig',
41     'adhocracy4.filters.apps.FiltersConfig',
42     'adhocracy4.follows.apps.FollowsConfig',
43     'adhocracy4.forms.apps.FormsConfig',
44     'adhocracy4.images.apps.ImagesConfig',
45     'adhocracy4.maps.apps.MapsConfig',
46     'adhocracy4.modules.apps.ModulesConfig',
47     'adhocracy4.organisations.apps.OrganisationsConfig',
48     'adhocracy4.phases.apps.PhasesConfig',
49     'adhocracy4.projects.apps.ProjectsConfig',
50     'adhocracy4.ratings.apps.RatingsConfig',
51     'adhocracy4.reports.apps.ReportsConfig',
52 
53     # General components that define models or helpers
54     'liqd_product.apps.contrib.apps.Config',
55     'liqd_product.apps.organisations.apps.Config',
56     'liqd_product.apps.partners.apps.Config',
57     'liqd_product.apps.users.apps.Config',
58     'meinberlin.apps.contrib.apps.Config',
59     'meinberlin.apps.actions.apps.Config',
60     'meinberlin.apps.moderatorfeedback.apps.Config',
61     'meinberlin.apps.maps.apps.Config',
62 
63     # General apps containing views
64     'liqd_product.apps.account.apps.Config',
65     'meinberlin.apps.embed.apps.Config',
66     'meinberlin.apps.exports.apps.Config',
67     'meinberlin.apps.offlineevents.apps.Config',
68     'meinberlin.apps.projects.apps.Config',
69     'meinberlin.apps.dashboard2.apps.Config',
70 
71     # Apps defining phases
72     'meinberlin.apps.documents.apps.Config',
73     'meinberlin.apps.ideas.apps.Config',
74     'meinberlin.apps.mapideas.apps.Config',
75     'meinberlin.apps.polls.apps.Config',
76 )
77 
78 MIDDLEWARE = (
79     'django.contrib.sessions.middleware.SessionMiddleware',
80     'django.middleware.common.CommonMiddleware',
81     'django.middleware.csrf.CsrfViewMiddleware',
82     'django.contrib.auth.middleware.AuthenticationMiddleware',
83     'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
84     'django.contrib.messages.middleware.MessageMiddleware',
85     'django.middleware.clickjacking.XFrameOptionsMiddleware',
86     'django.middleware.security.SecurityMiddleware',
87     'django.middleware.locale.LocaleMiddleware',
88 
89     'liqd_product.apps.partners.middleware.PartnerMiddleware',
90     'meinberlin.apps.embed.middleware.AjaxPathMiddleware',
91 )
92 
93 SITE_ID = 1
94 
95 ROOT_URLCONF = 'liqd_product.config.urls'
96 
97 LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
98 
99 TEMPLATES = [
100     {
101         'BACKEND': 'django.template.backends.django.DjangoTemplates',
102         'DIRS': [
103             os.path.join(PROJECT_DIR, 'templates'),
104         ],
105         'APP_DIRS': True,
106         'OPTIONS': {
107             'context_processors': [
108                 'django.template.context_processors.debug',
109                 'django.template.context_processors.request',
110                 'django.contrib.auth.context_processors.auth',
111                 'django.contrib.messages.context_processors.messages',
112             ],
113         },
114     },
115 ]
116 
117 WSGI_APPLICATION = 'liqd_product.config.wsgi.application'
118 
119 REVERSE_METHOD = 'liqd_product.apps.partners.urlresolvers.reverse'
120 
121 
122 # Database
123 # https://docs.djangoproject.com/en/1.8/ref/settings/#databases
124 
125 DATABASES = {
126     'default': {
127         'ENGINE': 'django.db.backends.sqlite3',
128         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
129         'TEST': {
130             'NAME': os.path.join(BASE_DIR, 'test_db.sqlite3'),
131         }
132     }
133 }
134 
135 
136 # Internationalization
137 # https://docs.djangoproject.com/en/1.8/topics/i18n/
138 
139 LANGUAGE_CODE = 'en-us'
140 
141 TIME_ZONE = 'Europe/Berlin'
142 
143 USE_I18N = True
144 
145 USE_L10N = True
146 
147 USE_TZ = True
148 
149 
150 # Static files (CSS, JavaScript, Images)
151 # https://docs.djangoproject.com/en/1.8/howto/static-files/
152 
153 STATICFILES_DIRS = [
154     os.path.join(PROJECT_DIR, 'static'),
155 ]
156 
157 STATIC_ROOT = os.path.join(BASE_DIR, 'static')
158 STATIC_URL = '/static/'
159 
160 MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
161 MEDIA_URL = '/media/'
162 
163 IMAGE_ALIASES = {
164     '*': {
165         'max_size': 5*10**6,
166         'fileformats': ('image/png', 'image/jpeg', 'image/gif')
167     },
168     'heroimage': {'min_resolution': (1500, 500)},
169     'tileimage': {'min_resolution': (500, 300)},
170     'logo': {'min_resolution': (200, 200), 'aspect_ratio': (1, 1)},
171     'avatar': {'min_resolution': (200, 200)},
172     'idea_image': {'min_resolution': (800, 200)},
173 }
174 
175 THUMBNAIL_ALIASES = {
176     '': {
177         'heroimage': {'size': (1500, 500), 'crop': 'smart'},
178         'heroimage_preview': {'size': (880, 220), 'crop': 'smart'},
179         'project_thumbnail': {'size': (520, 330), 'crop': 'smart'},
180         'idea_image': {'size': (800, 0), 'crop': 'scale'},
181         'idea_thumbnail': {'size': (240, 240), 'crop': 'smart'},
182     }
183 }
184 
185 ALLOWED_UPLOAD_IMAGES = ('png', 'jpeg', 'gif')
186 
187 
188 # Authentication
189 
190 AUTH_USER_MODEL = 'liqd_product_users.User'
191 
192 AUTHENTICATION_BACKENDS = (
193     'rules.permissions.ObjectPermissionBackend',
194     'django.contrib.auth.backends.ModelBackend',
195     'allauth.account.auth_backends.AuthenticationBackend',
196 )
197 
198 ACCOUNT_ADAPTER = 'liqd_product.apps.users.adapters.AccountAdapter'
199 ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
200 ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 3
201 ACCOUNT_EMAIL_REQUIRED = True
202 ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
203 ACCOUNT_USERNAME_REQUIRED = True
204 ACCOUNT_LOGIN_ATTEMPTS_LIMIT = 10
205 ACCOUNT_LOGIN_ATTEMPTS_TIMEOUT = 300  # seconds
206 ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
207 ACCOUNT_LOGIN_ON_PASSWORD_RESET = True
208 ACCOUNT_SIGNUP_FORM_CLASS = 'liqd_product.apps.users.forms.TermsSignupForm'
209 SOCIALACCOUNT_EMAIL_VERIFICATION = 'none'
210 
211 LOGIN_URL = 'account_login'
212 LOGIN_REDIRECT_URL = '/'
213 
214 EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
215 
216 
217 # CKEditor
218 
219 CKEDITOR_UPLOAD_PATH = "uploads/"
220 CKEDITOR_RESTRICT_BY_USER = 'username'
221 CKEDITOR_ALLOW_NONIMAGE_FILES = True
222 
223 CKEDITOR_CONFIGS = {
224     'default': {
225         'width': '100%',
226         'toolbar': 'Custom',
227         'toolbar_Custom': [
228             ['Bold', 'Italic', 'Underline'],
229             ['NumberedList', 'BulletedList'],
230             ['Link', 'Unlink']
231         ]
232     },
233     'image-editor': {
234         'width': '100%',
235         'toolbar': 'Custom',
236         'toolbar_Custom': [
237             ['Bold', 'Italic', 'Underline'],
238             ['Image'],
239             ['NumberedList', 'BulletedList'],
240             ['Link', 'Unlink']
241         ]
242     }
243 }
244 
245 BLEACH_LIST = {
246     'default' : {
247         'tags': ['p','strong','em','u','ol','li','ul','a'],
248         'attributes': {
249             'a': ['href', 'rel'],
250         },
251     },
252     'image-editor': {
253         'tags': ['p','strong','em','u','ol','li','ul','a','img'],
254         'attributes': {
255             'a': ['href', 'rel'],
256             'img': ['src', 'alt', 'style']
257         },
258         'styles': [
259             'float',
260             'margin',
261             'padding',
262             'width',
263             'height',
264             'margin-bottom',
265             'margin-top',
266             'margin-left',
267             'margin-right',
268         ],
269     }
270 }
271 
272 
273 # adhocracy4
274 
275 A4_ORGANISATIONS_MODEL = 'liqd_product_organisations.Organisation'
276 
277 A4_RATEABLES = (
278     ('a4comments', 'comment'),
279     ('meinberlin_ideas', 'idea'),
280     ('meinberlin_mapideas', 'mapidea'),
281 )
282 
283 A4_COMMENTABLES = (
284     ('a4comments', 'comment'),
285     ('meinberlin_ideas', 'idea'),
286     ('meinberlin_documents', 'chapter'),
287     ('meinberlin_documents', 'paragraph'),
288     ('meinberlin_mapideas', 'mapidea'),
289     ('meinberlin_polls', 'poll'),
290 )
291 
292 A4_REPORTABLES = (
293     ('a4comments', 'comment'),
294     ('meinberlin_ideas', 'idea'),
295     ('meinberlin_mapideas', 'mapidea'),
296 )
297 
298 A4_ACTIONABLES = (
299     ('a4comments', 'comment'),
300     ('meinberlin_ideas', 'idea'),
301     ('meinberlin_mapideas', 'mapidea'),
302 )
303 
304 A4_AUTO_FOLLOWABLES = (
305     ('a4comments', 'comment'),
306     ('meinberlin_ideas', 'idea'),
307     ('meinberlin_mapideas', 'mapidea'),
308 )
309 
310 
311 A4_CATEGORIZABLE = (
312     ('meinberlin_ideas', 'idea'),
313     ('meinberlin_mapideas', 'mapidea'),
314 )
315 
316 
317 A4_MAP_BASEURL = 'https://{s}.tile.openstreetmap.org/'
318 A4_MAP_ATTRIBUTION = '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors'
319 A4_MAP_BOUNDING_BOX = ([[52.3517, 13.8229], [52.6839, 12.9543]])
320 
321 A4_DASHBOARD = {
322     'PROJECT_DASHBOARD_CLASS': 'meinberlin.apps.dashboard2.ProjectDashboard',
323     'BLUEPRINTS': 'liqd_product.apps.dashboard.blueprints.blueprints'
324 }
325 
326 CONTACT_EMAIL = 'support-berlin@liqd.de'
327 EMAIL_DEFAULT_LANGUAGE = 'de'
328
```
--- 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/liqd_product/apps/organisations/admin.py b/liqd_product/apps/organisations/admin.py
--- a/liqd_product/apps/organisations/admin.py
+++ b/liqd_product/apps/organisations/admin.py
@@ -4,6 +4,7 @@
 
 
 class OrganisationAdmin(admin.ModelAdmin):
+    search_fields = ('name',)
     raw_id_fields = ('initiators', )
 
 
diff --git a/liqd_product/config/settings/base.py b/liqd_product/config/settings/base.py
--- a/liqd_product/config/settings/base.py
+++ b/liqd_product/config/settings/base.py
@@ -49,6 +49,7 @@
     'adhocracy4.projects.apps.ProjectsConfig',
     'adhocracy4.ratings.apps.RatingsConfig',
     'adhocracy4.reports.apps.ReportsConfig',
+    'adhocracy4.rules.apps.RulesConfig',
 
     # General components that define models or helpers
     'liqd_product.apps.contrib.apps.Config',

{"golden_diff": "diff --git a/liqd_product/apps/organisations/admin.py b/liqd_product/apps/organisations/admin.py\n--- a/liqd_product/apps/organisations/admin.py\n+++ b/liqd_product/apps/organisations/admin.py\n@@ -4,6 +4,7 @@\n \n \n class OrganisationAdmin(admin.ModelAdmin):\n+    search_fields = ('name',)\n     raw_id_fields = ('initiators', )\n \n \ndiff --git a/liqd_product/config/settings/base.py b/liqd_product/config/settings/base.py\n--- a/liqd_product/config/settings/base.py\n+++ b/liqd_product/config/settings/base.py\n@@ -49,6 +49,7 @@\n     'adhocracy4.projects.apps.ProjectsConfig',\n     'adhocracy4.ratings.apps.RatingsConfig',\n     'adhocracy4.reports.apps.ReportsConfig',\n+    'adhocracy4.rules.apps.RulesConfig',\n \n     # General components that define models or helpers\n     'liqd_product.apps.contrib.apps.Config',\n", "issue": "Adapt to meinBerlin Changes\n- [x] use A4_CATEGORIZABLE (  liqd/a4-meinberlin#893 )\r\n- [x] adapt to project_list_tile templates in user space (liqd/a4-meinberlin#798 liqd/a4-meinberlin#792 liqd/a4-meinberlin#783 ... )\r\n- [x] adapt to project_list_tile templates in dashboard ( liqd/a4-meinberlin#851  ... )\r\n- [x] check if css refactorings should be used in product, too ( liqd/a4-meinberlin#903 liqd/a4-meinberlin#900 liqd/a4-meinberlin#875  liqd/a4-meinberlin#860 liqd/a4-meinberlin#881 liqd/a4-meinberlin#807 liqd/a4-meinberlin#788 ...)\r\n- [x] unifiy admin.pys with meinBerlin\r\n- [x] include 'adhocracy4.rules.apps.RulesConfig', ( liqd/a4-meinberlin#914 )\n", "before_files": [{"content": "from django.contrib import admin\n\nfrom . import models\n\n\nclass OrganisationAdmin(admin.ModelAdmin):\n    raw_id_fields = ('initiators', )\n\n\nadmin.site.register(models.Organisation, OrganisationAdmin)\n", "path": "liqd_product/apps/organisations/admin.py"}, {"content": "\"\"\"Django settings for _LIQD_PRODUCT_.\"\"\"\n\n# Build paths inside the project like this: os.path.join(BASE_DIR, ...)\nimport os\n\nCONFIG_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\nPROJECT_DIR = os.path.dirname(CONFIG_DIR)\nBASE_DIR = os.path.dirname(PROJECT_DIR)\n\n# Application definition\n\nINSTALLED_APPS = (\n    'liqd_product.apps.django_overwrites.apps.Config',\n    'django.contrib.sites',\n    'django.contrib.admin',\n    'django.contrib.auth',\n    'django.contrib.contenttypes',\n    'django.contrib.sessions',\n    'django.contrib.messages',\n    'django.contrib.staticfiles',\n    'django.contrib.humanize',\n\n    'widget_tweaks',\n    'rest_framework',\n    'allauth',\n    'allauth.account',\n    'rules.apps.AutodiscoverRulesConfig',\n    'easy_thumbnails',\n    'ckeditor',\n    'ckeditor_uploader',\n    'capture_tag',\n    'background_task',\n\n    # Temporary Compatibility layer for a4-meinberlin\n    'liqd_product.apps.compatibility.apps.Config',\n\n    # General adhocracy 4 components\n    'adhocracy4.actions.apps.ActionsConfig',\n    'adhocracy4.categories.apps.CategoriesConfig',\n    'adhocracy4.comments.apps.CommentsConfig',\n    'adhocracy4.filters.apps.FiltersConfig',\n    'adhocracy4.follows.apps.FollowsConfig',\n    'adhocracy4.forms.apps.FormsConfig',\n    'adhocracy4.images.apps.ImagesConfig',\n    'adhocracy4.maps.apps.MapsConfig',\n    'adhocracy4.modules.apps.ModulesConfig',\n    'adhocracy4.organisations.apps.OrganisationsConfig',\n    'adhocracy4.phases.apps.PhasesConfig',\n    'adhocracy4.projects.apps.ProjectsConfig',\n    'adhocracy4.ratings.apps.RatingsConfig',\n    'adhocracy4.reports.apps.ReportsConfig',\n\n    # General components that define models or helpers\n    'liqd_product.apps.contrib.apps.Config',\n    'liqd_product.apps.organisations.apps.Config',\n    'liqd_product.apps.partners.apps.Config',\n    'liqd_product.apps.users.apps.Config',\n    'meinberlin.apps.contrib.apps.Config',\n    'meinberlin.apps.actions.apps.Config',\n    'meinberlin.apps.moderatorfeedback.apps.Config',\n    'meinberlin.apps.maps.apps.Config',\n\n    # General apps containing views\n    'liqd_product.apps.account.apps.Config',\n    'meinberlin.apps.embed.apps.Config',\n    'meinberlin.apps.exports.apps.Config',\n    'meinberlin.apps.offlineevents.apps.Config',\n    'meinberlin.apps.projects.apps.Config',\n    'meinberlin.apps.dashboard2.apps.Config',\n\n    # Apps defining phases\n    'meinberlin.apps.documents.apps.Config',\n    'meinberlin.apps.ideas.apps.Config',\n    'meinberlin.apps.mapideas.apps.Config',\n    'meinberlin.apps.polls.apps.Config',\n)\n\nMIDDLEWARE = (\n    'django.contrib.sessions.middleware.SessionMiddleware',\n    'django.middleware.common.CommonMiddleware',\n    'django.middleware.csrf.CsrfViewMiddleware',\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\n    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',\n    'django.contrib.messages.middleware.MessageMiddleware',\n    'django.middleware.clickjacking.XFrameOptionsMiddleware',\n    'django.middleware.security.SecurityMiddleware',\n    'django.middleware.locale.LocaleMiddleware',\n\n    'liqd_product.apps.partners.middleware.PartnerMiddleware',\n    'meinberlin.apps.embed.middleware.AjaxPathMiddleware',\n)\n\nSITE_ID = 1\n\nROOT_URLCONF = 'liqd_product.config.urls'\n\nLOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]\n\nTEMPLATES = [\n    {\n        'BACKEND': 'django.template.backends.django.DjangoTemplates',\n        'DIRS': [\n            os.path.join(PROJECT_DIR, 'templates'),\n        ],\n        'APP_DIRS': True,\n        'OPTIONS': {\n            'context_processors': [\n                'django.template.context_processors.debug',\n                'django.template.context_processors.request',\n                'django.contrib.auth.context_processors.auth',\n                'django.contrib.messages.context_processors.messages',\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = 'liqd_product.config.wsgi.application'\n\nREVERSE_METHOD = 'liqd_product.apps.partners.urlresolvers.reverse'\n\n\n# Database\n# https://docs.djangoproject.com/en/1.8/ref/settings/#databases\n\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.sqlite3',\n        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),\n        'TEST': {\n            'NAME': os.path.join(BASE_DIR, 'test_db.sqlite3'),\n        }\n    }\n}\n\n\n# Internationalization\n# https://docs.djangoproject.com/en/1.8/topics/i18n/\n\nLANGUAGE_CODE = 'en-us'\n\nTIME_ZONE = 'Europe/Berlin'\n\nUSE_I18N = True\n\nUSE_L10N = True\n\nUSE_TZ = True\n\n\n# Static files (CSS, JavaScript, Images)\n# https://docs.djangoproject.com/en/1.8/howto/static-files/\n\nSTATICFILES_DIRS = [\n    os.path.join(PROJECT_DIR, 'static'),\n]\n\nSTATIC_ROOT = os.path.join(BASE_DIR, 'static')\nSTATIC_URL = '/static/'\n\nMEDIA_ROOT = os.path.join(BASE_DIR, 'media')\nMEDIA_URL = '/media/'\n\nIMAGE_ALIASES = {\n    '*': {\n        'max_size': 5*10**6,\n        'fileformats': ('image/png', 'image/jpeg', 'image/gif')\n    },\n    'heroimage': {'min_resolution': (1500, 500)},\n    'tileimage': {'min_resolution': (500, 300)},\n    'logo': {'min_resolution': (200, 200), 'aspect_ratio': (1, 1)},\n    'avatar': {'min_resolution': (200, 200)},\n    'idea_image': {'min_resolution': (800, 200)},\n}\n\nTHUMBNAIL_ALIASES = {\n    '': {\n        'heroimage': {'size': (1500, 500), 'crop': 'smart'},\n        'heroimage_preview': {'size': (880, 220), 'crop': 'smart'},\n        'project_thumbnail': {'size': (520, 330), 'crop': 'smart'},\n        'idea_image': {'size': (800, 0), 'crop': 'scale'},\n        'idea_thumbnail': {'size': (240, 240), 'crop': 'smart'},\n    }\n}\n\nALLOWED_UPLOAD_IMAGES = ('png', 'jpeg', 'gif')\n\n\n# Authentication\n\nAUTH_USER_MODEL = 'liqd_product_users.User'\n\nAUTHENTICATION_BACKENDS = (\n    'rules.permissions.ObjectPermissionBackend',\n    'django.contrib.auth.backends.ModelBackend',\n    'allauth.account.auth_backends.AuthenticationBackend',\n)\n\nACCOUNT_ADAPTER = 'liqd_product.apps.users.adapters.AccountAdapter'\nACCOUNT_AUTHENTICATION_METHOD = 'username_email'\nACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 3\nACCOUNT_EMAIL_REQUIRED = True\nACCOUNT_EMAIL_VERIFICATION = 'mandatory'\nACCOUNT_USERNAME_REQUIRED = True\nACCOUNT_LOGIN_ATTEMPTS_LIMIT = 10\nACCOUNT_LOGIN_ATTEMPTS_TIMEOUT = 300  # seconds\nACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True\nACCOUNT_LOGIN_ON_PASSWORD_RESET = True\nACCOUNT_SIGNUP_FORM_CLASS = 'liqd_product.apps.users.forms.TermsSignupForm'\nSOCIALACCOUNT_EMAIL_VERIFICATION = 'none'\n\nLOGIN_URL = 'account_login'\nLOGIN_REDIRECT_URL = '/'\n\nEMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'\n\n\n# CKEditor\n\nCKEDITOR_UPLOAD_PATH = \"uploads/\"\nCKEDITOR_RESTRICT_BY_USER = 'username'\nCKEDITOR_ALLOW_NONIMAGE_FILES = True\n\nCKEDITOR_CONFIGS = {\n    'default': {\n        'width': '100%',\n        'toolbar': 'Custom',\n        'toolbar_Custom': [\n            ['Bold', 'Italic', 'Underline'],\n            ['NumberedList', 'BulletedList'],\n            ['Link', 'Unlink']\n        ]\n    },\n    'image-editor': {\n        'width': '100%',\n        'toolbar': 'Custom',\n        'toolbar_Custom': [\n            ['Bold', 'Italic', 'Underline'],\n            ['Image'],\n            ['NumberedList', 'BulletedList'],\n            ['Link', 'Unlink']\n        ]\n    }\n}\n\nBLEACH_LIST = {\n    'default' : {\n        'tags': ['p','strong','em','u','ol','li','ul','a'],\n        'attributes': {\n            'a': ['href', 'rel'],\n        },\n    },\n    'image-editor': {\n        'tags': ['p','strong','em','u','ol','li','ul','a','img'],\n        'attributes': {\n            'a': ['href', 'rel'],\n            'img': ['src', 'alt', 'style']\n        },\n        'styles': [\n            'float',\n            'margin',\n            'padding',\n            'width',\n            'height',\n            'margin-bottom',\n            'margin-top',\n            'margin-left',\n            'margin-right',\n        ],\n    }\n}\n\n\n# adhocracy4\n\nA4_ORGANISATIONS_MODEL = 'liqd_product_organisations.Organisation'\n\nA4_RATEABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\nA4_COMMENTABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_documents', 'chapter'),\n    ('meinberlin_documents', 'paragraph'),\n    ('meinberlin_mapideas', 'mapidea'),\n    ('meinberlin_polls', 'poll'),\n)\n\nA4_REPORTABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\nA4_ACTIONABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\nA4_AUTO_FOLLOWABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\n\nA4_CATEGORIZABLE = (\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\n\nA4_MAP_BASEURL = 'https://{s}.tile.openstreetmap.org/'\nA4_MAP_ATTRIBUTION = '&copy; <a href=\"http://openstreetmap.org/copyright\">OpenStreetMap</a> contributors'\nA4_MAP_BOUNDING_BOX = ([[52.3517, 13.8229], [52.6839, 12.9543]])\n\nA4_DASHBOARD = {\n    'PROJECT_DASHBOARD_CLASS': 'meinberlin.apps.dashboard2.ProjectDashboard',\n    'BLUEPRINTS': 'liqd_product.apps.dashboard.blueprints.blueprints'\n}\n\nCONTACT_EMAIL = 'support-berlin@liqd.de'\nEMAIL_DEFAULT_LANGUAGE = 'de'\n", "path": "liqd_product/config/settings/base.py"}], "after_files": [{"content": "from django.contrib import admin\n\nfrom . import models\n\n\nclass OrganisationAdmin(admin.ModelAdmin):\n    search_fields = ('name',)\n    raw_id_fields = ('initiators', )\n\n\nadmin.site.register(models.Organisation, OrganisationAdmin)\n", "path": "liqd_product/apps/organisations/admin.py"}, {"content": "\"\"\"Django settings for _LIQD_PRODUCT_.\"\"\"\n\n# Build paths inside the project like this: os.path.join(BASE_DIR, ...)\nimport os\n\nCONFIG_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\nPROJECT_DIR = os.path.dirname(CONFIG_DIR)\nBASE_DIR = os.path.dirname(PROJECT_DIR)\n\n# Application definition\n\nINSTALLED_APPS = (\n    'liqd_product.apps.django_overwrites.apps.Config',\n    'django.contrib.sites',\n    'django.contrib.admin',\n    'django.contrib.auth',\n    'django.contrib.contenttypes',\n    'django.contrib.sessions',\n    'django.contrib.messages',\n    'django.contrib.staticfiles',\n    'django.contrib.humanize',\n\n    'widget_tweaks',\n    'rest_framework',\n    'allauth',\n    'allauth.account',\n    'rules.apps.AutodiscoverRulesConfig',\n    'easy_thumbnails',\n    'ckeditor',\n    'ckeditor_uploader',\n    'capture_tag',\n    'background_task',\n\n    # Temporary Compatibility layer for a4-meinberlin\n    'liqd_product.apps.compatibility.apps.Config',\n\n    # General adhocracy 4 components\n    'adhocracy4.actions.apps.ActionsConfig',\n    'adhocracy4.categories.apps.CategoriesConfig',\n    'adhocracy4.comments.apps.CommentsConfig',\n    'adhocracy4.filters.apps.FiltersConfig',\n    'adhocracy4.follows.apps.FollowsConfig',\n    'adhocracy4.forms.apps.FormsConfig',\n    'adhocracy4.images.apps.ImagesConfig',\n    'adhocracy4.maps.apps.MapsConfig',\n    'adhocracy4.modules.apps.ModulesConfig',\n    'adhocracy4.organisations.apps.OrganisationsConfig',\n    'adhocracy4.phases.apps.PhasesConfig',\n    'adhocracy4.projects.apps.ProjectsConfig',\n    'adhocracy4.ratings.apps.RatingsConfig',\n    'adhocracy4.reports.apps.ReportsConfig',\n    'adhocracy4.rules.apps.RulesConfig',\n\n    # General components that define models or helpers\n    'liqd_product.apps.contrib.apps.Config',\n    'liqd_product.apps.organisations.apps.Config',\n    'liqd_product.apps.partners.apps.Config',\n    'liqd_product.apps.users.apps.Config',\n    'meinberlin.apps.contrib.apps.Config',\n    'meinberlin.apps.actions.apps.Config',\n    'meinberlin.apps.moderatorfeedback.apps.Config',\n    'meinberlin.apps.maps.apps.Config',\n\n    # General apps containing views\n    'liqd_product.apps.account.apps.Config',\n    'meinberlin.apps.embed.apps.Config',\n    'meinberlin.apps.exports.apps.Config',\n    'meinberlin.apps.offlineevents.apps.Config',\n    'meinberlin.apps.projects.apps.Config',\n    'meinberlin.apps.dashboard2.apps.Config',\n\n    # Apps defining phases\n    'meinberlin.apps.documents.apps.Config',\n    'meinberlin.apps.ideas.apps.Config',\n    'meinberlin.apps.mapideas.apps.Config',\n    'meinberlin.apps.polls.apps.Config',\n)\n\nMIDDLEWARE = (\n    'django.contrib.sessions.middleware.SessionMiddleware',\n    'django.middleware.common.CommonMiddleware',\n    'django.middleware.csrf.CsrfViewMiddleware',\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\n    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',\n    'django.contrib.messages.middleware.MessageMiddleware',\n    'django.middleware.clickjacking.XFrameOptionsMiddleware',\n    'django.middleware.security.SecurityMiddleware',\n    'django.middleware.locale.LocaleMiddleware',\n\n    'liqd_product.apps.partners.middleware.PartnerMiddleware',\n    'meinberlin.apps.embed.middleware.AjaxPathMiddleware',\n)\n\nSITE_ID = 1\n\nROOT_URLCONF = 'liqd_product.config.urls'\n\nLOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]\n\nTEMPLATES = [\n    {\n        'BACKEND': 'django.template.backends.django.DjangoTemplates',\n        'DIRS': [\n            os.path.join(PROJECT_DIR, 'templates'),\n        ],\n        'APP_DIRS': True,\n        'OPTIONS': {\n            'context_processors': [\n                'django.template.context_processors.debug',\n                'django.template.context_processors.request',\n                'django.contrib.auth.context_processors.auth',\n                'django.contrib.messages.context_processors.messages',\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = 'liqd_product.config.wsgi.application'\n\nREVERSE_METHOD = 'liqd_product.apps.partners.urlresolvers.reverse'\n\n\n# Database\n# https://docs.djangoproject.com/en/1.8/ref/settings/#databases\n\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.sqlite3',\n        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),\n        'TEST': {\n            'NAME': os.path.join(BASE_DIR, 'test_db.sqlite3'),\n        }\n    }\n}\n\n\n# Internationalization\n# https://docs.djangoproject.com/en/1.8/topics/i18n/\n\nLANGUAGE_CODE = 'en-us'\n\nTIME_ZONE = 'Europe/Berlin'\n\nUSE_I18N = True\n\nUSE_L10N = True\n\nUSE_TZ = True\n\n\n# Static files (CSS, JavaScript, Images)\n# https://docs.djangoproject.com/en/1.8/howto/static-files/\n\nSTATICFILES_DIRS = [\n    os.path.join(PROJECT_DIR, 'static'),\n]\n\nSTATIC_ROOT = os.path.join(BASE_DIR, 'static')\nSTATIC_URL = '/static/'\n\nMEDIA_ROOT = os.path.join(BASE_DIR, 'media')\nMEDIA_URL = '/media/'\n\nIMAGE_ALIASES = {\n    '*': {\n        'max_size': 5*10**6,\n        'fileformats': ('image/png', 'image/jpeg', 'image/gif')\n    },\n    'heroimage': {'min_resolution': (1500, 500)},\n    'tileimage': {'min_resolution': (500, 300)},\n    'logo': {'min_resolution': (200, 200), 'aspect_ratio': (1, 1)},\n    'avatar': {'min_resolution': (200, 200)},\n    'idea_image': {'min_resolution': (800, 200)},\n}\n\nTHUMBNAIL_ALIASES = {\n    '': {\n        'heroimage': {'size': (1500, 500), 'crop': 'smart'},\n        'heroimage_preview': {'size': (880, 220), 'crop': 'smart'},\n        'project_thumbnail': {'size': (520, 330), 'crop': 'smart'},\n        'idea_image': {'size': (800, 0), 'crop': 'scale'},\n        'idea_thumbnail': {'size': (240, 240), 'crop': 'smart'},\n    }\n}\n\nALLOWED_UPLOAD_IMAGES = ('png', 'jpeg', 'gif')\n\n\n# Authentication\n\nAUTH_USER_MODEL = 'liqd_product_users.User'\n\nAUTHENTICATION_BACKENDS = (\n    'rules.permissions.ObjectPermissionBackend',\n    'django.contrib.auth.backends.ModelBackend',\n    'allauth.account.auth_backends.AuthenticationBackend',\n)\n\nACCOUNT_ADAPTER = 'liqd_product.apps.users.adapters.AccountAdapter'\nACCOUNT_AUTHENTICATION_METHOD = 'username_email'\nACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 3\nACCOUNT_EMAIL_REQUIRED = True\nACCOUNT_EMAIL_VERIFICATION = 'mandatory'\nACCOUNT_USERNAME_REQUIRED = True\nACCOUNT_LOGIN_ATTEMPTS_LIMIT = 10\nACCOUNT_LOGIN_ATTEMPTS_TIMEOUT = 300  # seconds\nACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True\nACCOUNT_LOGIN_ON_PASSWORD_RESET = True\nACCOUNT_SIGNUP_FORM_CLASS = 'liqd_product.apps.users.forms.TermsSignupForm'\nSOCIALACCOUNT_EMAIL_VERIFICATION = 'none'\n\nLOGIN_URL = 'account_login'\nLOGIN_REDIRECT_URL = '/'\n\nEMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'\n\n\n# CKEditor\n\nCKEDITOR_UPLOAD_PATH = \"uploads/\"\nCKEDITOR_RESTRICT_BY_USER = 'username'\nCKEDITOR_ALLOW_NONIMAGE_FILES = True\n\nCKEDITOR_CONFIGS = {\n    'default': {\n        'width': '100%',\n        'toolbar': 'Custom',\n        'toolbar_Custom': [\n            ['Bold', 'Italic', 'Underline'],\n            ['NumberedList', 'BulletedList'],\n            ['Link', 'Unlink']\n        ]\n    },\n    'image-editor': {\n        'width': '100%',\n        'toolbar': 'Custom',\n        'toolbar_Custom': [\n            ['Bold', 'Italic', 'Underline'],\n            ['Image'],\n            ['NumberedList', 'BulletedList'],\n            ['Link', 'Unlink']\n        ]\n    }\n}\n\nBLEACH_LIST = {\n    'default' : {\n        'tags': ['p','strong','em','u','ol','li','ul','a'],\n        'attributes': {\n            'a': ['href', 'rel'],\n        },\n    },\n    'image-editor': {\n        'tags': ['p','strong','em','u','ol','li','ul','a','img'],\n        'attributes': {\n            'a': ['href', 'rel'],\n            'img': ['src', 'alt', 'style']\n        },\n        'styles': [\n            'float',\n            'margin',\n            'padding',\n            'width',\n            'height',\n            'margin-bottom',\n            'margin-top',\n            'margin-left',\n            'margin-right',\n        ],\n    }\n}\n\n\n# adhocracy4\n\nA4_ORGANISATIONS_MODEL = 'liqd_product_organisations.Organisation'\n\nA4_RATEABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\nA4_COMMENTABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_documents', 'chapter'),\n    ('meinberlin_documents', 'paragraph'),\n    ('meinberlin_mapideas', 'mapidea'),\n    ('meinberlin_polls', 'poll'),\n)\n\nA4_REPORTABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\nA4_ACTIONABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\nA4_AUTO_FOLLOWABLES = (\n    ('a4comments', 'comment'),\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\n\nA4_CATEGORIZABLE = (\n    ('meinberlin_ideas', 'idea'),\n    ('meinberlin_mapideas', 'mapidea'),\n)\n\n\nA4_MAP_BASEURL = 'https://{s}.tile.openstreetmap.org/'\nA4_MAP_ATTRIBUTION = '&copy; <a href=\"http://openstreetmap.org/copyright\">OpenStreetMap</a> contributors'\nA4_MAP_BOUNDING_BOX = ([[52.3517, 13.8229], [52.6839, 12.9543]])\n\nA4_DASHBOARD = {\n    'PROJECT_DASHBOARD_CLASS': 'meinberlin.apps.dashboard2.ProjectDashboard',\n    'BLUEPRINTS': 'liqd_product.apps.dashboard.blueprints.blueprints'\n}\n\nCONTACT_EMAIL = 'support-berlin@liqd.de'\nEMAIL_DEFAULT_LANGUAGE = 'de'\n", "path": "liqd_product/config/settings/base.py"}]}