Skip to content

Commit 1e7692a

Browse files
Merge pull request #289 from EventManagerTeam/feature/sql-db-settings
fixed migrations; add travis settings file
2 parents 7ec05a4 + d952860 commit 1e7692a

8 files changed

Lines changed: 189 additions & 45 deletions

File tree

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ install:
2222
script:
2323
- cd eventmanager
2424
- pycodestyle .
25-
- docker run event-manager /bin/sh -c "eventmanager/manage.py test eventmanager/"
25+
- docker run event-manager /bin/sh -c "eventmanager/manage.py test eventmanager/ --settings=eventmanager.travis"

docker/startup/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ fi
77
python /code/eventmanager/manage.py migrate
88
python /code/eventmanager/manage.py loaddata /code/eventmanager/initial_categories.json
99
python /code/eventmanager/manage.py collectstatic --no-input
10-
python /code/eventmanager/manage.py runserver 0.0.0.0:8000
10+
python /code/eventmanager/manage.py runserver 0.0.0.0:8000
1111

1212
tail -f /dev/null

eventmanager/eventmanager/settings.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,14 @@
9797

9898
DATABASES = {
9999
'default': {
100-
'ENGINE': 'django.db.backends.sqlite3',
101-
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
100+
'ENGINE': 'django.db.backends.mysql',
101+
'NAME': 'eventmanager',
102+
'USER': 'eventmanager',
103+
'PASSWORD': 'eventmanager',
104+
'HOST': 'db',
105+
'TEST': {
106+
'NAME': 'mytestdatabase',
107+
},
102108
}
103109
}
104110

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
"""
2+
Django settings for eventmanager project.
3+
4+
Generated by 'django-admin startproject' using Django 2.0.5.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/2.0/topics/settings/
8+
9+
For the full list of settings and their values, see
10+
https://docs.djangoproject.com/en/2.0/ref/settings/
11+
"""
12+
13+
import os
14+
15+
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
16+
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
17+
18+
19+
# Quick-start development settings - unsuitable for production
20+
# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/
21+
22+
# SECURITY WARNING: keep the secret key used in production secret!
23+
SECRET_KEY = '6&ye$pg!^+x0-$7z%vk12h*&xkl929c6n$pmht7q5qj2@p1+h6'
24+
25+
# SECURITY WARNING: don't run with debug turned on in production!
26+
DEBUG = True
27+
28+
ALLOWED_HOSTS = ['0.0.0.0']
29+
30+
31+
# Application definition
32+
33+
INSTALLED_APPS = [
34+
'django.contrib.admin',
35+
'django.contrib.auth',
36+
'django.contrib.contenttypes',
37+
'django.contrib.humanize',
38+
'django.contrib.messages',
39+
'django.contrib.sessions',
40+
'django.contrib.staticfiles',
41+
'crispy_forms',
42+
'django_cleanup.apps.CleanupConfig',
43+
'django_countries',
44+
'notifications',
45+
'rest_framework',
46+
'rest_framework_swagger',
47+
'social_django',
48+
'accounts',
49+
'api',
50+
'categories',
51+
'custom_errors',
52+
'events',
53+
'tasks',
54+
]
55+
56+
MIDDLEWARE = [
57+
'django.middleware.security.SecurityMiddleware',
58+
'django.contrib.sessions.middleware.SessionMiddleware',
59+
'django.middleware.common.CommonMiddleware',
60+
'django.middleware.csrf.CsrfViewMiddleware',
61+
'django.contrib.auth.middleware.AuthenticationMiddleware',
62+
'django.contrib.messages.middleware.MessageMiddleware',
63+
'django.middleware.clickjacking.XFrameOptionsMiddleware',
64+
'social_django.middleware.SocialAuthExceptionMiddleware',
65+
]
66+
67+
ROOT_URLCONF = 'eventmanager.urls'
68+
69+
TEMPLATES = [
70+
{
71+
'BACKEND': 'django.template.backends.django.DjangoTemplates',
72+
'DIRS': [],
73+
'APP_DIRS': True,
74+
'OPTIONS': {
75+
'context_processors': [
76+
'django.template.context_processors.debug',
77+
'django.template.context_processors.request',
78+
'django.contrib.auth.context_processors.auth',
79+
'django.contrib.messages.context_processors.messages',
80+
'social_django.context_processors.backends',
81+
'social_django.context_processors.login_redirect',
82+
],
83+
},
84+
},
85+
]
86+
87+
AUTHENTICATION_BACKENDS = (
88+
'django.contrib.auth.backends.ModelBackend',
89+
'social_core.backends.github.GithubOAuth2',
90+
)
91+
92+
WSGI_APPLICATION = 'eventmanager.wsgi.application'
93+
94+
95+
# Database
96+
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
97+
98+
DATABASES = {
99+
'default': {
100+
'ENGINE': 'django.db.backends.sqlite3',
101+
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
102+
}
103+
}
104+
105+
106+
# Password validation
107+
# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators
108+
109+
AUTH_PASSWORD_VALIDATORS = [
110+
{
111+
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
112+
},
113+
{
114+
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
115+
},
116+
{
117+
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
118+
},
119+
{
120+
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
121+
},
122+
]
123+
124+
125+
# Internationalization
126+
# https://docs.djangoproject.com/en/2.0/topics/i18n/
127+
128+
LANGUAGE_CODE = 'en-us'
129+
130+
TIME_ZONE = 'UTC'
131+
132+
USE_I18N = True
133+
134+
USE_L10N = True
135+
136+
USE_TZ = True
137+
138+
139+
# Static files (CSS, JavaScript, Images)
140+
# https://docs.djangoproject.com/en/2.0/howto/static-files/
141+
PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
142+
143+
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
144+
STATIC_URL = '/static/'
145+
146+
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
147+
148+
STORAGE_URL = '/storage/'
149+
STORAGE_ROOT = os.path.abspath(os.path.join(BASE_DIR, 'storage'))
150+
151+
MEDIA_URL = '/media/'
152+
MEDIA_ROOT = os.path.abspath(os.path.join(BASE_DIR, 'media'))
153+
154+
# RSS Feed
155+
EVENTS_IN_FEED = 20
156+
157+
CRISPY_TEMPLATE_PACK = 'bootstrap4'
158+
159+
# login url for socail-auth
160+
LOGOUT_URL = 'signout'
161+
LOGIN_REDIRECT_URL = 'accounts.home'
162+
163+
SOCIAL_AUTH_GITHUB_KEY = ''
164+
SOCIAL_AUTH_GITHUB_SECRET = ''
165+
166+
try:
167+
from eventmanager.local_settings import *
168+
except ImportError:
169+
pass

eventmanager/events/migrations/0001_initial.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
# Generated by Django 2.1.2 on 2019-01-06 12:21
1+
# Generated by Django 2.1.5 on 2019-02-27 18:03
22

33
from django.conf import settings
44
from django.db import migrations, models
55
import django.db.models.deletion
6+
import django_countries.fields
7+
import events.models
68

79

810
class Migration(migrations.Migration):
911

1012
initial = True
1113

1214
dependencies = [
13-
('categories', '0001_initial'),
1415
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
16+
('categories', '0002_category_category_image'),
1517
]
1618

1719
operations = [
@@ -39,13 +41,15 @@ class Migration(migrations.Migration):
3941
('title', models.CharField(help_text='250 character limit', max_length=250, verbose_name='Title')),
4042
('slug', models.SlugField(blank=True, null=True, unique=True)),
4143
('description', models.TextField(help_text='Plain text, any formatting or links will be removed', verbose_name='Description')),
44+
('location', models.CharField(blank=True, help_text='400 character limit', max_length=400, null=True, verbose_name='Event Location')),
45+
('country', django_countries.fields.CountryField(blank=True, max_length=2, null=True)),
4246
('visibility', models.CharField(default='1', max_length=2, verbose_name='visibility')),
4347
('cover_image', models.ImageField(blank=True, null=True, upload_to='events')),
4448
('is_active', models.BooleanField(default=True, verbose_name='Is active')),
4549
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created at')),
4650
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated at')),
47-
('starts_at', models.DateTimeField(blank=True, null=True, verbose_name='Event starts at')),
48-
('ends_at', models.DateTimeField(blank=True, null=True, verbose_name='Event ends at')),
51+
('starts_at', models.DateTimeField(blank=True, null=True, validators=[events.models.future], verbose_name='Event starts at')),
52+
('ends_at', models.DateTimeField(blank=True, null=True, validators=[events.models.future], verbose_name='Event ends at')),
4953
('added_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
5054
('attendees', models.ManyToManyField(blank=True, related_name='attendees', to=settings.AUTH_USER_MODEL, verbose_name='Attendees')),
5155
('category', models.ManyToManyField(help_text='Can select many Categories', related_name='categories', to='categories.Category', verbose_name='Categories')),

eventmanager/events/migrations/0002_auto_20190223_2122.py

Lines changed: 0 additions & 35 deletions
This file was deleted.

eventmanager/tasks/migrations/0001_initial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Generated by Django 2.1.2 on 2019-01-06 12:21
1+
# Generated by Django 2.1.5 on 2019-02-27 18:03
22

33
from django.conf import settings
44
from django.db import migrations, models

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[pycodestyle]
2-
exclude=settings.py, migrations
2+
exclude=settings.py, migrations, travis.py

0 commit comments

Comments
 (0)