Merge pull request #1389 from normanjaeckel/BowerAndGulp
Used Bower and gulp to manage third party JS and CSS libraries
This commit is contained in:
commit
579e4b325e
7
.gitignore
vendored
7
.gitignore
vendored
@ -7,12 +7,17 @@
|
|||||||
.virtualenv/*
|
.virtualenv/*
|
||||||
.venv/*
|
.venv/*
|
||||||
|
|
||||||
# Development user data (settings, database, media, search index)
|
# Node modules
|
||||||
|
node_modules/*
|
||||||
|
|
||||||
|
# Development user data (settings, database, media, search index, static files)
|
||||||
settings.py
|
settings.py
|
||||||
!tests/settings.py
|
!tests/settings.py
|
||||||
database.sqlite
|
database.sqlite
|
||||||
media/*
|
media/*
|
||||||
whoosh_index/*
|
whoosh_index/*
|
||||||
|
bower_components/*
|
||||||
|
openslides/static/*
|
||||||
|
|
||||||
# Package building
|
# Package building
|
||||||
docs/_build/*
|
docs/_build/*
|
||||||
|
@ -2,7 +2,11 @@ language: python
|
|||||||
python:
|
python:
|
||||||
- "3.3"
|
- "3.3"
|
||||||
- "3.4"
|
- "3.4"
|
||||||
install: "pip install -r requirements.txt"
|
install:
|
||||||
|
- "pip install -r requirements.txt"
|
||||||
|
- "npm install"
|
||||||
|
- "node_modules/.bin/bower install"
|
||||||
|
- "node_modules/.bin/gulp --production"
|
||||||
script:
|
script:
|
||||||
- "DJANGO_SETTINGS_MODULE='tests.settings' coverage run ./manage.py django test"
|
- "DJANGO_SETTINGS_MODULE='tests.settings' coverage run ./manage.py django test"
|
||||||
- "coverage report -m --fail-under=80"
|
- "coverage report -m --fail-under=80"
|
||||||
|
@ -14,6 +14,8 @@ Other:
|
|||||||
- Refactoring of the participant app. Now called 'users'.
|
- Refactoring of the participant app. Now called 'users'.
|
||||||
- Added Django's application configuration. Refactored loading of signals,
|
- Added Django's application configuration. Refactored loading of signals,
|
||||||
template signals and slides.
|
template signals and slides.
|
||||||
|
- Used Bower and gulp to manage third party JavaScript and Cascading Style
|
||||||
|
Sheets libraries.
|
||||||
|
|
||||||
|
|
||||||
Version 1.7 (unreleased)
|
Version 1.7 (unreleased)
|
||||||
|
60
README.rst
60
README.rst
@ -179,31 +179,26 @@ Installation and start of the development version
|
|||||||
|
|
||||||
1. Check requirements
|
1. Check requirements
|
||||||
|
|
||||||
Follow step 1 in the correspondent instruction in section III.
|
You need to have `Python 3 (>=3.3) <https://www.python.org/>`_, `Node.js
|
||||||
|
(>=0.10) <https://nodejs.org/>`_ and `Git <http://git-scm.com/>`_
|
||||||
|
installed. See also step 1 in the correspondent instruction in section
|
||||||
|
III.
|
||||||
|
|
||||||
2. Get OpenSlides source code
|
2. Get OpenSlides source code
|
||||||
|
|
||||||
Clone current master version from `OpenSlides' GitHub repository
|
Clone current master version from `OpenSlides' GitHub repository
|
||||||
<https://github.com/OpenSlides/OpenSlides>`_. This requires `Git
|
<https://github.com/OpenSlides/OpenSlides/>`_::
|
||||||
<http://git-scm.com/>`_.
|
|
||||||
|
|
||||||
For example for Ubuntu run::
|
cd ... # Go to a nice place in your filesystem.
|
||||||
|
git clone https://github.com/OpenSlides/OpenSlides.git
|
||||||
|
cd OpenSlides
|
||||||
|
|
||||||
$ sudo apt-get install git
|
3. Setup and activate a virtual environment with Virtual Python Environment
|
||||||
$ git clone git://github.com/OpenSlides/OpenSlides.git
|
builder (optional)
|
||||||
$ cd OpenSlides
|
|
||||||
|
|
||||||
For Windows you can use GitBash::
|
|
||||||
|
|
||||||
> cd ... # Go to a nice place in your filesystem.
|
|
||||||
> git clone git://github.com/OpenSlides/OpenSlides.git
|
|
||||||
> cd OpenSlides
|
|
||||||
|
|
||||||
3. Setup a virtual environment with Virtual Python Environment builder (optional)
|
|
||||||
|
|
||||||
Follow step 2 in the correspondent instruction in section III.
|
Follow step 2 in the correspondent instruction in section III.
|
||||||
|
|
||||||
4. Install all required python packages
|
4. Install all required Python packages
|
||||||
|
|
||||||
For Unix and Mac OS X run::
|
For Unix and Mac OS X run::
|
||||||
|
|
||||||
@ -213,15 +208,42 @@ Installation and start of the development version
|
|||||||
|
|
||||||
> easy_install # Insert all packages from requirements.txt and requirements_production.txt here
|
> easy_install # Insert all packages from requirements.txt and requirements_production.txt here
|
||||||
|
|
||||||
5. Start OpenSlides
|
5. Install all npm and bower packages
|
||||||
|
|
||||||
To start OpenSlides use the command line script::
|
For Unix and Mac OS X run::
|
||||||
|
|
||||||
|
$ npm install
|
||||||
|
$ node_modules/.bin/bower install
|
||||||
|
|
||||||
|
For Windows run::
|
||||||
|
|
||||||
|
> npm install
|
||||||
|
> node_modules\.bin\bower install
|
||||||
|
|
||||||
|
6. Concat and copy all third party JavaScript and Cascading Style Sheets
|
||||||
|
libraries
|
||||||
|
|
||||||
|
For Unix and Mac OS X run::
|
||||||
|
|
||||||
|
$ node_modules/.bin/gulp
|
||||||
|
|
||||||
|
For Windows run::
|
||||||
|
|
||||||
|
> node_modules\.bin\gulp
|
||||||
|
|
||||||
|
7. Create a development settings file
|
||||||
|
|
||||||
|
Use the command-line interface::
|
||||||
|
|
||||||
python manage.py create-dev-settings
|
python manage.py create-dev-settings
|
||||||
|
|
||||||
|
8. Start OpenSlides
|
||||||
|
|
||||||
|
Use the command-line interface::
|
||||||
|
|
||||||
python manage.py start --settings settings.py
|
python manage.py start --settings settings.py
|
||||||
|
|
||||||
To get help on the command line options run::
|
To get help on the command-line options run::
|
||||||
|
|
||||||
python manage.py --help
|
python manage.py --help
|
||||||
|
|
||||||
|
19
bower.json
Normal file
19
bower.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "OpenSlides",
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"bootstrap": "2.3.2",
|
||||||
|
"jquery": "1.11.2",
|
||||||
|
"jquery.cookie" : "1.4.1"
|
||||||
|
},
|
||||||
|
"overrides": {
|
||||||
|
"bootstrap": {
|
||||||
|
"main": [
|
||||||
|
"docs/assets/js/bootstrap.js",
|
||||||
|
"docs/assets/css/bootstrap.css",
|
||||||
|
"img/glyphicons-halflings.png",
|
||||||
|
"img/glyphicons-halflings-white.png"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
58
gulpfile.js
Normal file
58
gulpfile.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*!
|
||||||
|
* Gulp tasks for development and production.
|
||||||
|
*
|
||||||
|
* Run
|
||||||
|
*
|
||||||
|
* $ ./node_modules/.bin/gulp
|
||||||
|
*
|
||||||
|
* for development and
|
||||||
|
*
|
||||||
|
* $ ./node_modules/.bin/gulp --production
|
||||||
|
*
|
||||||
|
* for production mode.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var argv = require('yargs').argv,
|
||||||
|
gulp = require('gulp'),
|
||||||
|
concat = require('gulp-concat'),
|
||||||
|
gulpif = require('gulp-if'),
|
||||||
|
mainBowerFiles = require('main-bower-files'),
|
||||||
|
minifyCSS = require('gulp-minify-css'),
|
||||||
|
path = require('path'),
|
||||||
|
uglify = require('gulp-uglify');
|
||||||
|
|
||||||
|
// Directory where the results go
|
||||||
|
var output_directory = path.join('openslides', 'static');
|
||||||
|
|
||||||
|
// Catches all JavaScript files from all bower components and concats them to
|
||||||
|
// one file js/openslides-libs.js. In production mode the file is uglified.
|
||||||
|
gulp.task('js', function() {
|
||||||
|
return gulp.src(mainBowerFiles({
|
||||||
|
filter: /\.js$/
|
||||||
|
}))
|
||||||
|
.pipe(concat('openslides-libs.js'))
|
||||||
|
.pipe(gulpif(argv.production, uglify()))
|
||||||
|
.pipe(gulp.dest(path.join(output_directory, 'js')));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Catches all CSS files from all bower components and concats them to one file
|
||||||
|
// css/openslides-libs.css. In production mode the file is uglified.
|
||||||
|
gulp.task('css', function() {
|
||||||
|
return gulp.src(mainBowerFiles({
|
||||||
|
filter: /\.css$/
|
||||||
|
}))
|
||||||
|
.pipe(concat('openslides-libs.css'))
|
||||||
|
.pipe(gulpif(argv.production, minifyCSS()))
|
||||||
|
.pipe(gulp.dest(path.join(output_directory, 'css')));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Catches all PNG image files from all bower components.
|
||||||
|
gulp.task('img', function() {
|
||||||
|
return gulp.src(mainBowerFiles({
|
||||||
|
filter: /\.png$/
|
||||||
|
}))
|
||||||
|
.pipe(gulp.dest(path.join(output_directory, 'img')));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Gulp default task. Runs all other tasks before.
|
||||||
|
gulp.task('default', ['js', 'css', 'img'], function() {});
|
9
openslides/core/static/css/bootstrap.min.css
vendored
9
openslides/core/static/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
6
openslides/core/static/js/bootstrap.min.js
vendored
6
openslides/core/static/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,11 +0,0 @@
|
|||||||
/*!
|
|
||||||
* jQuery Cookie Plugin v1.4.0
|
|
||||||
* https://github.com/carhartl/jquery-cookie
|
|
||||||
*
|
|
||||||
* Copyright 2013 Klaus Hartl
|
|
||||||
* Released under the MIT license
|
|
||||||
*/
|
|
||||||
(function(factory){if(typeof define==="function"&&define.amd)define(["jquery"],factory);else if(typeof exports==="object")factory(require("jquery"));else factory(jQuery)})(function($){var pluses=/\+/g;function encode(s){return config.raw?s:encodeURIComponent(s)}function decode(s){return config.raw?s:decodeURIComponent(s)}function stringifyCookieValue(value){return encode(config.json?JSON.stringify(value):String(value))}function parseCookieValue(s){if(s.indexOf('"')===0)s=s.slice(1,-1).replace(/\\"/g,
|
|
||||||
'"').replace(/\\\\/g,"\\");try{s=decodeURIComponent(s.replace(pluses," "));return config.json?JSON.parse(s):s}catch(e){}}function read(s,converter){var value=config.raw?s:parseCookieValue(s);return $.isFunction(converter)?converter(value):value}var config=$.cookie=function(key,value,options){if(value!==undefined&&!$.isFunction(value)){options=$.extend({},config.defaults,options);if(typeof options.expires==="number"){var days=options.expires,t=options.expires=new Date;t.setTime(+t+days*864E5)}return document.cookie=
|
|
||||||
[encode(key),"=",stringifyCookieValue(value),options.expires?"; expires="+options.expires.toUTCString():"",options.path?"; path="+options.path:"",options.domain?"; domain="+options.domain:"",options.secure?"; secure":""].join("")}var result=key?undefined:{};var cookies=document.cookie?document.cookie.split("; "):[];for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split("=");var name=decode(parts.shift());var cookie=parts.join("=");if(key&&key===name){result=read(cookie,value);break}if(!key&&
|
|
||||||
(cookie=read(cookie))!==undefined)result[name]=cookie}return result};config.defaults={};$.removeCookie=function(key,options){if($.cookie(key)===undefined)return false;$.cookie(key,"",$.extend({},options,{expires:-1}));return!$.cookie(key)}});
|
|
File diff suppressed because one or more lines are too long
@ -9,7 +9,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>{% block title %}{% get_config 'event_name' %}{% endblock %}</title>
|
<title>{% block title %}{% get_config 'event_name' %}{% endblock %}</title>
|
||||||
<!-- styles -->
|
<!-- styles -->
|
||||||
<link href="{% static 'css/bootstrap.min.css' %}" type="text/css" rel="stylesheet" />
|
<link href="{% static 'css/openslides-libs.css' %}" type="text/css" rel="stylesheet" />
|
||||||
<link href="{% static 'css/bootstrap-responsive.min.css' %}" type="text/css" rel="stylesheet" />
|
<link href="{% static 'css/bootstrap-responsive.min.css' %}" type="text/css" rel="stylesheet" />
|
||||||
<link href="{% static 'css/jquery-ui/jquery-ui.custom.min.css'%}" type="text/css" rel="stylesheet" />
|
<link href="{% static 'css/jquery-ui/jquery-ui.custom.min.css'%}" type="text/css" rel="stylesheet" />
|
||||||
<link href="{% static 'css/base.css' %}" type="text/css" rel="stylesheet" />
|
<link href="{% static 'css/base.css' %}" type="text/css" rel="stylesheet" />
|
||||||
@ -125,10 +125,8 @@
|
|||||||
{% include 'core/chatbox.html' %}
|
{% include 'core/chatbox.html' %}
|
||||||
|
|
||||||
<!-- JavaScript (Placed at the end of the document so the pages load faster) -->
|
<!-- JavaScript (Placed at the end of the document so the pages load faster) -->
|
||||||
<script src="{% static 'js/jquery/jquery.min.js' %}" type="text/javascript"></script>
|
<script src="{% static 'js/openslides-libs.js' %}" type="text/javascript"></script>
|
||||||
<script src="{% static 'js/jquery/jquery.cookie.min.js' %}" type="text/javascript"></script>
|
|
||||||
<script src="{% static 'js/jquery/jquery-ui.custom.min.js' %}" type="text/javascript"></script>
|
<script src="{% static 'js/jquery/jquery-ui.custom.min.js' %}" type="text/javascript"></script>
|
||||||
<script src="{% static 'js/bootstrap.min.js' %}" type="text/javascript"></script>
|
|
||||||
<script src="{% static 'js/sockjs-0.3.min.js' %}" type="text/javascript"></script>
|
<script src="{% static 'js/sockjs-0.3.min.js' %}" type="text/javascript"></script>
|
||||||
<script src="{% static 'js/utils.js' %}" type="text/javascript"></script>
|
<script src="{% static 'js/utils.js' %}" type="text/javascript"></script>
|
||||||
<script src="{% static 'js/chatbox.js' %}" type="text/javascript"></script>
|
<script src="{% static 'js/chatbox.js' %}" type="text/javascript"></script>
|
||||||
|
@ -57,6 +57,9 @@ STATICFILES_FINDERS = (
|
|||||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
STATICFILES_DIRS = [
|
||||||
|
os.path.join(SITE_ROOT, 'static')]
|
||||||
|
|
||||||
# List of callables that know how to import templates from various sources.
|
# List of callables that know how to import templates from various sources.
|
||||||
TEMPLATE_LOADERS = (
|
TEMPLATE_LOADERS = (
|
||||||
'django.template.loaders.filesystem.Loader',
|
'django.template.loaders.filesystem.Loader',
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="{{LANGUAGE_CODE}}">
|
<html lang="{{LANGUAGE_CODE}}">
|
||||||
<head>
|
<head>
|
||||||
<link href="{% static 'css/bootstrap.min.css' %}" type="text/css" rel="stylesheet">
|
<link href="{% static 'css/openslides-libs.css' %}" type="text/css" rel="stylesheet">
|
||||||
<link href="{% static 'css/projector.css' %}" type="text/css" rel="stylesheet">
|
<link href="{% static 'css/projector.css' %}" type="text/css" rel="stylesheet">
|
||||||
<link href="{% static 'img/favicon.png' %}" type="image/png" rel="shortcut icon">
|
<link href="{% static 'img/favicon.png' %}" type="image/png" rel="shortcut icon">
|
||||||
<title>{% block title %}{% trans 'Projector' %} – {{ 'event_name'|get_config }}{% endblock %}</title>
|
<title>{% block title %}{% trans 'Projector' %} – {{ 'event_name'|get_config }}{% endblock %}</title>
|
||||||
<script type="text/javascript" src="{% static 'js/jquery/jquery.min.js' %}"></script>
|
<script type="text/javascript" src="{% static 'js/openslides-libs.js' %}"></script>
|
||||||
<script type="text/javascript" src="{% static 'js/sockjs-0.3.min.js' %}"></script>
|
<script type="text/javascript" src="{% static 'js/sockjs-0.3.min.js' %}"></script>
|
||||||
<script type="text/javascript" src="{% static 'js/projector.js' %}"></script>
|
<script type="text/javascript" src="{% static 'js/projector.js' %}"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
@ -1,49 +1,66 @@
|
|||||||
# -*- coding: utf-8 -*-
|
"""
|
||||||
#
|
Settings file for OpenSlides
|
||||||
# Settings file for OpenSlides
|
|
||||||
#
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/1.7/topics/settings/
|
||||||
|
|
||||||
|
For the full list of settings and their values, see
|
||||||
|
https://docs.djangoproject.com/en/1.7/ref/settings/
|
||||||
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from openslides.global_settings import *
|
from openslides.global_settings import *
|
||||||
%(import_function)s
|
%(import_function)s
|
||||||
|
|
||||||
# Path to the directory for user specific data files
|
# Path to the directory for user specific data files
|
||||||
|
|
||||||
OPENSLIDES_USER_DATA_PATH = %(openslides_user_data_path)s
|
OPENSLIDES_USER_DATA_PATH = %(openslides_user_data_path)s
|
||||||
|
|
||||||
# Use 'DEBUG = True' to get more details for server errors. Default for releases: False
|
|
||||||
DEBUG = %(debug)s
|
|
||||||
TEMPLATE_DEBUG = DEBUG
|
|
||||||
|
|
||||||
# Make this unique, and don't share it with anybody.
|
# SECURITY WARNING: Keep the secret key used in production secret!
|
||||||
|
|
||||||
SECRET_KEY = %(secret_key)r
|
SECRET_KEY = %(secret_key)r
|
||||||
|
|
||||||
# Database settings. Change this to use MySQL or PostgreSQL
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
|
||||||
'NAME': os.path.join(OPENSLIDES_USER_DATA_PATH, 'database.sqlite'),
|
|
||||||
'USER': '',
|
|
||||||
'PASSWORD': '',
|
|
||||||
'HOST': '',
|
|
||||||
'PORT': ''}}
|
|
||||||
|
|
||||||
# Add OpenSlides plugins to this list (see example entry in comment)
|
# Use 'DEBUG = True' to get more details for server errors.
|
||||||
|
# SECURITY WARNING: Don't run with debug turned on in production!
|
||||||
|
|
||||||
|
DEBUG = True
|
||||||
|
TEMPLATE_DEBUG = DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
# OpenSlides plugins
|
||||||
|
# Add plugins to this list (see example entry in comment).
|
||||||
|
|
||||||
INSTALLED_PLUGINS += (
|
INSTALLED_PLUGINS += (
|
||||||
# 'pluginname',
|
# 'pluginname',
|
||||||
)
|
)
|
||||||
|
|
||||||
INSTALLED_APPS += INSTALLED_PLUGINS
|
INSTALLED_APPS += INSTALLED_PLUGINS
|
||||||
|
|
||||||
|
|
||||||
|
# Database
|
||||||
|
# Change this to use MySQL or PostgreSQL.
|
||||||
|
# See https://docs.djangoproject.com/en/1.7/ref/settings/#databases
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': os.path.join(OPENSLIDES_USER_DATA_PATH, 'database.sqlite')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Some other settings
|
# Some other settings
|
||||||
|
|
||||||
TIME_ZONE = 'Europe/Berlin'
|
TIME_ZONE = 'Europe/Berlin'
|
||||||
|
|
||||||
MEDIA_ROOT = os.path.join(OPENSLIDES_USER_DATA_PATH, 'media', '')
|
MEDIA_ROOT = os.path.join(OPENSLIDES_USER_DATA_PATH, 'media', '')
|
||||||
|
|
||||||
HAYSTACK_CONNECTIONS['default']['PATH'] = os.path.join(OPENSLIDES_USER_DATA_PATH, 'whoosh_index', '')
|
|
||||||
|
|
||||||
TEMPLATE_DIRS = (
|
TEMPLATE_DIRS = (
|
||||||
os.path.join(OPENSLIDES_USER_DATA_PATH, 'templates'),
|
os.path.join(OPENSLIDES_USER_DATA_PATH, 'templates'),
|
||||||
os.path.join(SITE_ROOT, 'templates'))
|
)
|
||||||
|
|
||||||
STATICFILES_DIRS = (
|
STATICFILES_DIRS = [os.path.join(OPENSLIDES_USER_DATA_PATH, 'static')] + STATICFILES_DIRS
|
||||||
os.path.join(OPENSLIDES_USER_DATA_PATH, 'static'),
|
|
||||||
os.path.join(SITE_ROOT, 'static'))
|
HAYSTACK_CONNECTIONS['default']['PATH'] = os.path.join(OPENSLIDES_USER_DATA_PATH, 'whoosh_index', '')
|
||||||
|
14
package.json
Normal file
14
package.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"name": "OpenSlides",
|
||||||
|
"private": true,
|
||||||
|
"devDependencies": {
|
||||||
|
"bower": "~1.3.12",
|
||||||
|
"gulp": "~3.8.10",
|
||||||
|
"gulp-concat": "~2.4.3",
|
||||||
|
"gulp-if": "~1.2.5",
|
||||||
|
"gulp-minify-css": "~0.3.11",
|
||||||
|
"gulp-uglify": "~1.0.2",
|
||||||
|
"main-bower-files": "~2.4.1",
|
||||||
|
"yargs": "~1.3.3"
|
||||||
|
}
|
||||||
|
}
|
@ -1,53 +1,67 @@
|
|||||||
#
|
"""
|
||||||
# Settings file for OpenSlides' tests
|
Settings file for OpenSlides' tests
|
||||||
#
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from openslides.global_settings import * # noqa
|
from openslides.global_settings import * # noqa
|
||||||
|
|
||||||
# Path to the directory for user specific data files
|
# Path to the directory for user specific data files
|
||||||
|
|
||||||
OPENSLIDES_USER_DATA_PATH = os.path.realpath(os.path.dirname(__file__))
|
OPENSLIDES_USER_DATA_PATH = os.path.realpath(os.path.dirname(__file__))
|
||||||
|
|
||||||
# Use 'DEBUG = True' to get more details for server errors. Default for releases: False
|
|
||||||
DEBUG = False
|
|
||||||
TEMPLATE_DEBUG = DEBUG
|
|
||||||
|
|
||||||
# Make this unique, and don't share it with anybody.
|
# SECURITY WARNING: Keep the secret key used in production secret!
|
||||||
|
|
||||||
SECRET_KEY = 'secret'
|
SECRET_KEY = 'secret'
|
||||||
|
|
||||||
# Database settings. Change this to use MySQL or PostgreSQL
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
|
||||||
'NAME': '',
|
|
||||||
'USER': '',
|
|
||||||
'PASSWORD': '',
|
|
||||||
'HOST': '',
|
|
||||||
'PORT': ''}}
|
|
||||||
|
|
||||||
# Add OpenSlides plugins to this list
|
# Use 'DEBUG = True' to get more details for server errors.
|
||||||
INSTALLED_PLUGINS = (
|
# SECURITY WARNING: Don't run with debug turned on in production!
|
||||||
|
|
||||||
|
DEBUG = True
|
||||||
|
TEMPLATE_DEBUG = DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
# OpenSlides plugins
|
||||||
|
# Add plugins to this list.
|
||||||
|
|
||||||
|
INSTALLED_PLUGINS += (
|
||||||
'tests.utils',
|
'tests.utils',
|
||||||
)
|
)
|
||||||
|
|
||||||
INSTALLED_APPS += INSTALLED_PLUGINS
|
INSTALLED_APPS += INSTALLED_PLUGINS
|
||||||
|
|
||||||
|
|
||||||
|
# Database
|
||||||
|
# Change this to use MySQL or PostgreSQL.
|
||||||
|
# See https://docs.djangoproject.com/en/1.7/ref/settings/#databases
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Some other settings
|
# Some other settings
|
||||||
|
|
||||||
TIME_ZONE = 'Europe/Berlin'
|
TIME_ZONE = 'Europe/Berlin'
|
||||||
|
|
||||||
MEDIA_ROOT = os.path.join(OPENSLIDES_USER_DATA_PATH, '')
|
MEDIA_ROOT = os.path.join(OPENSLIDES_USER_DATA_PATH, '')
|
||||||
|
|
||||||
HAYSTACK_CONNECTIONS['default']['STORAGE'] = 'ram'
|
|
||||||
|
|
||||||
TEMPLATE_DIRS = (
|
TEMPLATE_DIRS = (
|
||||||
os.path.join(OPENSLIDES_USER_DATA_PATH, 'templates'),
|
os.path.join(OPENSLIDES_USER_DATA_PATH, 'templates'),
|
||||||
os.path.join(SITE_ROOT, 'templates'))
|
)
|
||||||
|
|
||||||
STATICFILES_DIRS = (
|
STATICFILES_DIRS.insert(0, os.path.join(OPENSLIDES_USER_DATA_PATH, 'static'))
|
||||||
os.path.join(OPENSLIDES_USER_DATA_PATH, 'static'),
|
|
||||||
os.path.join(SITE_ROOT, 'static'))
|
HAYSTACK_CONNECTIONS['default']['STORAGE'] = 'ram'
|
||||||
|
|
||||||
|
|
||||||
|
# Special test settings
|
||||||
|
# Use a faster password hasher.
|
||||||
|
|
||||||
# Use a faster passwort hasher
|
|
||||||
PASSWORD_HASHERS = (
|
PASSWORD_HASHERS = (
|
||||||
'django.contrib.auth.hashers.MD5PasswordHasher',
|
'django.contrib.auth.hashers.MD5PasswordHasher',
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user