reworking project layout
This commit is contained in:
parent
300dfe1b92
commit
4d7b6a1fe1
|
@ -6,6 +6,8 @@ services:
|
|||
image: olymk2/mhackspace
|
||||
restart: unless-stopped
|
||||
network_mode: bridge
|
||||
ports:
|
||||
- "5010:5000"
|
||||
links:
|
||||
- mariadb:mariadb
|
||||
- mhackspace_web:nginx
|
||||
|
|
2
main.py
2
main.py
|
@ -10,4 +10,4 @@ from website import index
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
index.app.run(host='0.0.0.0', port=5001, debug=True)
|
||||
index.web_app.run(host='0.0.0.0', port=5010, debug=True)
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import os
|
||||
import socket
|
||||
|
||||
from scaffold.core.data.database import db
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
@ -45,26 +44,27 @@ oauth_live = False
|
|||
oauth_redirect_uri = app_domain + '/oauth'
|
||||
oauth_conf = {}
|
||||
payment_providers = {}
|
||||
google_captcha = {}
|
||||
google_calendar_id = ''
|
||||
google_calendar_api_key = ''
|
||||
|
||||
|
||||
print(os.path.abspath('./'))
|
||||
if os.environ.get('SERVER_ENVIRONMENT') =='DOCKER':
|
||||
if os.path.exists('config/settings_docker.py'):
|
||||
print('Using settings for docker enviroment')
|
||||
from config.settings_docker import *
|
||||
from website.config.settings_docker import *
|
||||
else:
|
||||
if os.path.exists('config/settings_dev.py'):
|
||||
if os.path.exists('website/config/settings_dev.py'):
|
||||
print('Using settings for dev enviroment')
|
||||
from config.settings_dev import *
|
||||
from website.config.settings_dev import *
|
||||
|
||||
if os.path.exists('config/settings_testing.py'):
|
||||
print('Using settings for test enviroment')
|
||||
from config.settings_testing import *
|
||||
from website.config.settings_testing import *
|
||||
|
||||
if os.path.exists('config/settings_live.py'):
|
||||
print('Using settings for live enviroment')
|
||||
from config.settings_live import *
|
||||
from website.config.settings_live import *
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ class sendmail:
|
|||
message = Message(
|
||||
From=from_address,
|
||||
To=to_address,
|
||||
reply-to=from_address,
|
||||
RTo=from_address,
|
||||
charset=self.charset
|
||||
)
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
from pprint import pprint
|
||||
from config import settings
|
||||
from datetime import datetime, timedelta
|
||||
import pytz
|
||||
import gocardless
|
||||
import paypalrestsdk as paypal
|
||||
|
||||
from config.settings import app_domain
|
||||
from website.config import settings
|
||||
from website.config.settings import app_domain
|
||||
|
||||
PROVIDER_ID = {'gocardless':1, 'paypal': 2}
|
||||
PROVIDER_NAME = {1: 'gocardless', 2: 'paypal'}
|
||||
|
|
|
@ -29,7 +29,7 @@ with web.template as setup:
|
|||
setup.persistent_header('<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-action-white.css" media="" type="text/css" />')
|
||||
setup.persistent_header('<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-content-white.css" media="" type="text/css" />')
|
||||
|
||||
setup.persistent_header('<script type="text/javascript" src="/static/js/jquery-2.2.3.min.js"></script>')
|
||||
setup.persistent_header('<script type="text/javascript" src="/static/js/jquery-3.1.1.min.js"></script>')
|
||||
setup.persistent_header('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.js"></script>')
|
||||
setup.persistent_header('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-animate.js"></script>')
|
||||
setup.persistent_header('<script type="text/javascript" src="/static/js/materialize.js"></script>')
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
from pages import web
|
||||
from pages import header, footer
|
||||
from config.settings import google_captcha, email_server
|
||||
from libs.mail import sendmail
|
||||
from flask import get_flashed_messages, flash, request
|
||||
from libs.recapture import verify_captcha
|
||||
from website.pages import web
|
||||
from website.pages import header, footer
|
||||
from website.config.settings import google_captcha, email_server
|
||||
from website.libs.mail import sendmail
|
||||
from website.libs.recapture import verify_captcha
|
||||
|
||||
def contact_page():
|
||||
web.template.create('Maidstone Hackspace - Chat room')
|
||||
|
|
|
@ -14,10 +14,10 @@ from requests_oauthlib import OAuth2Session
|
|||
from requests_oauthlib.compliance_fixes import facebook_compliance_fix
|
||||
|
||||
from scaffold import web
|
||||
from libs.mail import sendmail
|
||||
from pages import header, footer
|
||||
from data import site_user
|
||||
from config.settings import *
|
||||
from website.libs.mail import sendmail
|
||||
from website.pages import header, footer
|
||||
from website.data import site_user
|
||||
from website.config.settings import *
|
||||
from website.constants import *
|
||||
|
||||
# web.load_widgets('widgets')
|
||||
|
|
|
@ -11,11 +11,11 @@ from requests_oauthlib import OAuth2Session
|
|||
from requests_oauthlib.compliance_fixes import facebook_compliance_fix
|
||||
|
||||
from scaffold import web
|
||||
from libs.mail import sendmail
|
||||
from pages import header, footer
|
||||
from pages.core.authorize import User
|
||||
from data import site_user
|
||||
from config.settings import *
|
||||
from website.libs.mail import sendmail
|
||||
from website.pages import header, footer
|
||||
from website.pages.core.authorize import User
|
||||
from website.data import site_user
|
||||
from website.config.settings import *
|
||||
from website.constants import *
|
||||
|
||||
|
||||
|
|
|
@ -4,11 +4,11 @@ from flask import redirect, abort
|
|||
|
||||
from scaffold import web
|
||||
from scaffold.core.validate import validate
|
||||
from pages import header, footer
|
||||
from data import donate, site_user, badges, members
|
||||
from website.pages import header, footer
|
||||
from website.data import donate, site_user, badges, members
|
||||
|
||||
from libs.payments import payment
|
||||
from config.settings import *
|
||||
from website.libs.payments import payment
|
||||
from website.config.settings import *
|
||||
|
||||
donate_pages = Blueprint('donate_pages', __name__, template_folder='templates')
|
||||
|
||||
|
|
|
@ -3,9 +3,9 @@ from flask import Blueprint
|
|||
from flask import make_response
|
||||
from flask.ext.login import current_user, login_required
|
||||
|
||||
from pages import web
|
||||
from pages import header, footer
|
||||
from data import equipment
|
||||
from website.pages import web
|
||||
from website.pages import header, footer
|
||||
from website.data import equipment
|
||||
|
||||
|
||||
equipment_pages = Blueprint('equipment_pages', __name__, template_folder='templates')
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
from flask import Blueprint
|
||||
from flask.ext.login import login_required
|
||||
|
||||
from pages import web
|
||||
from pages import header, footer
|
||||
from website.pages import web
|
||||
from website.pages import header, footer
|
||||
|
||||
google_groups_pages = Blueprint('google_group', __name__, template_folder='templates')
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
from flask.ext.login import login_required
|
||||
|
||||
from pages import web
|
||||
from pages import header, footer
|
||||
from data import members
|
||||
from data import badges
|
||||
from website.pages import web
|
||||
from website.pages import header, footer
|
||||
from website.data import members
|
||||
from website.data import badges
|
||||
from website.constants import badge_lookup
|
||||
|
||||
b = {'1':'test', '2': 'abc'}
|
||||
|
|
|
@ -5,17 +5,17 @@ from flask.ext.login import current_user, login_required
|
|||
|
||||
from website.constants import badge_lookup
|
||||
|
||||
from pages.core.authorize import oauth_lookup_name
|
||||
from pages import web
|
||||
from pages import header, footer
|
||||
from data.site_user import get_user_details, get_registered_oauth_providers, update_membership, update_membership_status, get_user_bio, create_membership
|
||||
from data.profile import update_description, create_description, fetch_users
|
||||
from data import badges
|
||||
from data import members
|
||||
from config.settings import app_domain
|
||||
from website.pages.core.authorize import oauth_lookup_name
|
||||
from website.pages import web
|
||||
from website.pages import header, footer
|
||||
from website.data.site_user import get_user_details, get_registered_oauth_providers, update_membership, update_membership_status, get_user_bio, create_membership
|
||||
from website.data.profile import update_description, create_description, fetch_users
|
||||
from website.data import badges
|
||||
from website.data import members
|
||||
from website.config.settings import app_domain
|
||||
|
||||
from libs.payments import payment
|
||||
from config.settings import *
|
||||
from website.libs.payments import payment
|
||||
from website.config.settings import *
|
||||
|
||||
profile_pages = Blueprint('profile_pages', __name__, template_folder='templates')
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -9,7 +9,7 @@ class control(base_widget_extended):
|
|||
return self
|
||||
|
||||
def render(self):
|
||||
super(render, self).render()
|
||||
super(control, self).render()
|
||||
self.script.append(
|
||||
"""document.getElementById("forum_embed").src = "https://groups.google.com/forum/embed/?place=forum/%s" + "&showsearch=true&showpopout=true&parenturl=" + encodeURIComponent(window.location.href);""" % self.name)
|
||||
return '<iframe id="forum_embed" src="javascript:void(0)" style="background-color:#fff;width:100%;" scrolling="no" frameborder="0" width="900" height="700"></iframe>'
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
from scaffold.core.widget import base_widget
|
||||
|
||||
class control(base_widget):
|
||||
oauth_enabled = set()
|
||||
css = '../scaffold/www/default_widgets/css/loginBox.css'
|
||||
|
||||
def create(self):
|
||||
return self
|
||||
|
||||
def enable_oauth(self, name):
|
||||
self.oauth_enabled.add(name)
|
||||
return self
|
||||
|
||||
def render(self):
|
||||
htm = '<div id="login_box" class="row">'
|
||||
|
||||
htm += '<p>Please login with one of the oauth provider below, which is more secure and does not store passwords on our system.</p>'
|
||||
if self.oauth_enabled:
|
||||
htm += '<div class="providers">'
|
||||
if 'google' in self.oauth_enabled:
|
||||
htm += '<a title="Login with Google" class="but row" href="/oauth/google/login">Login with Google</a> '
|
||||
if 'facebook' in self.oauth_enabled:
|
||||
htm += '<a title="Login with facebook" class="but row" href="/oauth/facebook/login">Login with Facebook</a> '
|
||||
if 'github' in self.oauth_enabled:
|
||||
htm += '<a title="Login with twitter" class="but row" href="/oauth/github/login">Login with GitHub</a>'
|
||||
htm += '<br /></div>'
|
||||
|
||||
htm += '<p>Or alternatively login with your previously created account.</p>'
|
||||
htm += '''
|
||||
<form class="col s12" id="user_login" method="post" action="/login" ><frameset>
|
||||
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<input id="username" name="username" type="text"/>
|
||||
<label for="username">E-Mail</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<input id="password" name="password" type="password"/>
|
||||
<label for="password">Password</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<button class="but" form="user_login" type="submit" value="login">Login</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</frameset></form>
|
||||
<a href="/register">Register for an account</a> | <a href="/reset-password">Reset password</a>'''
|
||||
htm += '</div>'
|
||||
return htm
|
||||
|
|
@ -23,13 +23,27 @@ class control(base_widget_extended):
|
|||
</div>''' % (self.reference, self.name)
|
||||
|
||||
return '''
|
||||
<div id="membercard" class="register">
|
||||
<div id="membercard" class="register row">
|
||||
<form action="/profile/membership" method="post">
|
||||
<fieldset>
|
||||
<legend>Join Maidstone Hackspace</legend>
|
||||
<div class="input-field"><select name="provider" class="select-dropdown"><option value="gocardless">GoCardless</option><option value="paypal">PayPal</option></select><label for="provider">Payment provider</label></div>
|
||||
<div class="input-field"><input name="amount" placeholder="20.00" value="20.00" type="text"><label for="amount">Subscription Amount</label></div>
|
||||
<div class="button"><button type="submit">submit</button></div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<select name="provider">
|
||||
<option value="gocardless">GoCardless</option>
|
||||
<option value="paypal">PayPal</option>
|
||||
</select>
|
||||
<label for="provider">Payment provider</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<input name="amount" placeholder="20.00" value="20.00" type="text">
|
||||
<label for="amount">Subscription Amount</label></div>
|
||||
<div class="button">
|
||||
<button type="submit">submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>'''
|
||||
|
|
Loading…
Reference in New Issue