more restructing for tests
This commit is contained in:
parent
bf23afc5ec
commit
00d72091bc
13
.drone.yml
13
.drone.yml
|
@ -4,12 +4,11 @@ build:
|
|||
environment:
|
||||
SERVER_ENVIRONMENT: DOCKER
|
||||
commands:
|
||||
# - cd website
|
||||
- sleep 15
|
||||
- python3 -m "scaffold"
|
||||
- python3 -m "scaffold" "migrate --username=mhackspace --password=mhackspace --database=maidstone_hackspace --host=127.0.0.1"
|
||||
# - python3 -m "scaffold"
|
||||
- pytest
|
||||
|
||||
|
||||
compose:
|
||||
database:
|
||||
image: olymk2/mariadb
|
||||
|
@ -25,8 +24,8 @@ compose:
|
|||
notify:
|
||||
irc:
|
||||
prefix: build
|
||||
nick: drone
|
||||
channel: #maidstone-hackspace
|
||||
nick: mhackspace_drone
|
||||
channel: maidstone-hackspace
|
||||
server:
|
||||
host: chat.freenode.net
|
||||
port: 6667
|
||||
host: irc.freenode.net
|
||||
port: 8001
|
||||
|
|
|
@ -12,8 +12,8 @@ RUN apk add --update --no-cache py-psycopg2 py-lxml py-flask py-pillow py-openss
|
|||
RUN apk add --update --no-cache build-base make git bzr python3-dev libffi-dev openssl-dev libxml2-dev libxslt-dev jpeg-dev zlib-dev && \
|
||||
pip3 install lxml && \
|
||||
pip3 install --no-cache-dir lxml dateutils requests requests-oauthlib mailer gocardless paypalrestsdk pytz pytest nose2 oauthlib flask flask-login pymysql misaka slimit cssmin pillow && \
|
||||
pip3 install --upgrade git+git://github.com/olymk2/scaffold.git@master && \
|
||||
#pip3 install --upgrade --no-cache-dir bzr+lp:scaffold/trunk#egg=scaffold && \
|
||||
#pip3 install --upgrade git+git://github.com/olymk2/scaffold.git@master && \
|
||||
pip3 install --upgrade --no-cache-dir bzr+lp:scaffold/trunk#egg=scaffold && \
|
||||
apk del build-base make git bzr python3-dev libffi-dev openssl-dev libxml2-dev libxslt-dev
|
||||
|
||||
# RUN pip3 install --no-cache-dir dateutils requests requests-oauthlib gocardless paypalrestsdk pytz nose2 oauthlib flask flask-login pymysql misaka
|
||||
|
@ -45,7 +45,7 @@ RUN apk add --update --no-cache build-base make git bzr python3-dev libffi-dev o
|
|||
#RUN /bin/sh -c 'cd /var/www/site; python index.py'
|
||||
#ENTRYPOINT /bin/sh -c 'scaffold import && python index.py'
|
||||
|
||||
#docker build -t mhackspace .
|
||||
#docker build -t olymk2/mhackspace .
|
||||
#docker run -d --name=mhackspace_container --restart=always mhackspace
|
||||
#docker run -it -v /etc/uwsgi/apps-enabled/:/etc/uwsgi/apps-enabled/ -v sockets:/data/sockets --entrypoint sh --name mhackspace olymk2/mhackspace
|
||||
#docker run -it -v /etc/uwsgi/apps-enabled/:/etc/uwsgi/apps-enabled/ -v sockets:/data/sockets -v /var/www/test.maidstone-hackspace.org.uk/site:/var/www --name mhackspace olymk2/mhackspace
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
# maidstone-hackspace
|
||||
Repository for the maidstone hackspace website
|
||||
|
||||
Status
|
||||
|
||||
[](http://dev.digitaloctave.com:10081/oly/maidstone-hackspace)
|
||||
|
||||
To get started checkout the project to your machine.
|
||||
|
||||
git clone https://github.com/olymk2/maidstone-hackspace.git
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -7,9 +7,9 @@ from collections import defaultdict
|
|||
|
||||
sys.path.append(os.path.abspath('../'))
|
||||
|
||||
from config import settings
|
||||
from website.config import settings
|
||||
from scaffold.core.data.database import db
|
||||
from data import site_user
|
||||
from website.data import site_user
|
||||
from tests.test_data import clean, populate
|
||||
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -18,7 +18,7 @@ data_last_names = ['fuzzie']
|
|||
|
||||
|
||||
def clean():
|
||||
clean_file = os.path.abspath('./data/migrate/clean.sql')
|
||||
clean_file = os.path.abspath('./website/data/migrate/clean.sql')
|
||||
with open(clean_file, 'r') as clean_fp:
|
||||
sql = clean_fp.read()
|
||||
query().execute({}, sql)
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -2,6 +2,7 @@ import os
|
|||
import socket
|
||||
|
||||
from scaffold.core.data.database import db
|
||||
from scaffold.core.data.sql import query_builder
|
||||
from scaffold import web
|
||||
|
||||
from website import constants
|
||||
|
@ -76,6 +77,8 @@ 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('<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">')
|
||||
|
||||
#javascript, using jquery and angular
|
||||
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="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.js"></script>')
|
||||
|
@ -90,6 +93,7 @@ with web.template as setup:
|
|||
schema=schema,
|
||||
domain=domain,
|
||||
port=port)
|
||||
print(database)
|
||||
|
||||
query_builder.set_path(os.path.abspath('./website/data/sql/'))
|
||||
db.config(database)
|
||||
mail.sendmail.set_server(email_server)
|
||||
|
|
|
@ -7,7 +7,7 @@ from scaffold.core.data.update import update_data
|
|||
from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
|
||||
class create_badge(insert_data):
|
||||
|
|
|
@ -6,7 +6,7 @@ from scaffold.core.data.insert import insert_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
class get_pledge(select_data):
|
||||
debug = True
|
||||
|
|
|
@ -8,7 +8,7 @@ from scaffold.core.data.update import update_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
class create(insert_data):
|
||||
table = 'requests'
|
||||
|
|
|
@ -5,7 +5,7 @@ from scaffold.core.data.update import update_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
|
||||
class get_members(select_data):
|
||||
|
|
|
@ -6,7 +6,7 @@ from scaffold.core.data.update import update_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
class fetch_users(select_data):
|
||||
query_file = 'get_users.sql'
|
||||
|
|
|
@ -6,7 +6,7 @@ from scaffold.core.data.update import update_data
|
|||
from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
##query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
|
||||
class create_basic_user(insert_data):
|
||||
|
|
|
@ -7,7 +7,7 @@ from scaffold.core.data.update import update_data
|
|||
from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
|
||||
class create_badge(insert_data):
|
||||
|
|
|
@ -6,7 +6,7 @@ from scaffold.core.data.insert import insert_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
class get_pledge(select_data):
|
||||
debug = True
|
||||
|
|
|
@ -8,7 +8,7 @@ from scaffold.core.data.update import update_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
class create(insert_data):
|
||||
table = 'requests'
|
||||
|
|
|
@ -5,7 +5,7 @@ from scaffold.core.data.update import update_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
|
||||
class get_members(select_data):
|
||||
|
|
|
@ -6,7 +6,7 @@ from scaffold.core.data.update import update_data
|
|||
#~ from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
class fetch_users(select_data):
|
||||
query_file = 'get_users.sql'
|
||||
|
|
|
@ -6,7 +6,7 @@ from scaffold.core.data.update import update_data
|
|||
from scaffold.core.data.delete import delete_data
|
||||
from scaffold.core.data.sql import query_builder
|
||||
|
||||
query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
#query_builder.query_path = os.path.abspath('./data/sql/')
|
||||
|
||||
|
||||
class create_basic_user(insert_data):
|
||||
|
|
|
@ -77,7 +77,7 @@ class payment:
|
|||
|
||||
if self.provider == 'gocardless':
|
||||
return gocardless.client.new_bill_url(
|
||||
amount,
|
||||
float(amount),
|
||||
name=reference,
|
||||
redirect_uri=redirect_success)
|
||||
|
||||
|
|
|
@ -10,12 +10,12 @@ def contact_page():
|
|||
header('Maidstone Hackspace Chat')
|
||||
|
||||
web.contact_form.capture_settings = google_captcha
|
||||
web.contact_form.create('Contact Us')
|
||||
web.contact_form.create('Contact Us', )
|
||||
web.contact_form.enable_capture()
|
||||
web.contact_form.render()
|
||||
|
||||
web.simple_form.create()
|
||||
web.simple_form.append(input_type='text', input_name='test', label='my label')
|
||||
# web.simple_form.create()
|
||||
# web.simple_form.append(input_type='text', input_name='test', label='my label')
|
||||
|
||||
web.page.create(web.title.create('Contact Form').render())
|
||||
web.page.section(web.contact_form.render())
|
||||
|
|
|
@ -81,8 +81,6 @@ def load_user(userid):
|
|||
|
||||
@login_manager.token_loader
|
||||
def load_token(token):
|
||||
print('request')
|
||||
print(request)
|
||||
token = request.headers.get('Authorization')
|
||||
if token is None:
|
||||
token = request.args.get('token')
|
||||
|
@ -100,6 +98,8 @@ def load_token(token):
|
|||
return user
|
||||
return None
|
||||
|
||||
|
||||
|
||||
#~ def auth_required():
|
||||
#~ if not session.get('user_id'):
|
||||
#~ redirect(domain + '/login', 301)
|
||||
|
|
|
@ -33,12 +33,12 @@ def index():
|
|||
#~ web.page.section(web.paragraph.render())
|
||||
|
||||
|
||||
web.form_simple.create('Donate to Maidstone Hackspace', '/donate/submit')
|
||||
web.form_simple.append(input_name='provider', input_id="choose_gocardless",label='GoCardless', placeholder='gocardless', values='gocardless', input_type='radio')
|
||||
web.form_simple.create(title='Donate to Maidstone Hackspace', action='/donate/submit', method='post')
|
||||
web.form_simple.append(input_name='provider', input_id="choose_gocardless",label='GoCardless', placeholder='gocardless', values='gocardless', input_type='radio', selected=True)
|
||||
web.form_simple.append(input_name='provider', input_id="choose_paypal",label='PayPal', placeholder='', values='paypal', input_type='radio')
|
||||
web.form_simple.append(input_name='provider', input_id="choose_braintree",label='Braintree', placeholder='', values='braintree', input_type='radio')
|
||||
# web.form_simple.append(input_name='provider', input_id="choose_braintree",label='Braintree', placeholder='', values='braintree', input_type='radio')
|
||||
web.form_simple.append(input_name='reference', label='Reference', placeholder='#lair', values=['#lair','#t-shirt'], input_type='select')
|
||||
web.form_simple.append(input_name='amount', label='Donation Amount', placeholder='50.00', values='50.00', input_type='text')
|
||||
web.form_simple.append(input_name='amount', label='Donation Amount', placeholder='20.00', values='20.00', input_type='text')
|
||||
web.page.append(web.form_simple.render())
|
||||
|
||||
web.template.body.append(web.page.set_classes('page col s10 offset-s1').render())
|
||||
|
@ -108,7 +108,7 @@ def populate_by_name():
|
|||
@donate_pages.route("/donate/submit", methods=['POST'])
|
||||
def submit_donation():
|
||||
provider = payment(
|
||||
provider='paypal',
|
||||
provider=request.form.get('provider', ''),
|
||||
style='payment')
|
||||
|
||||
# convert donation amount to 2 decimal places, paypal seems to require this else it errors
|
||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 50 KiB |
Binary file not shown.
Before Width: | Height: | Size: 559 KiB After Width: | Height: | Size: 123 KiB |
|
@ -4,7 +4,6 @@ from scaffold.core.widget import base_widget
|
|||
class control(base_widget):
|
||||
method = 'post'
|
||||
action = '/'
|
||||
inputs = []
|
||||
template = {
|
||||
'text':'''
|
||||
<div class="row">
|
||||
|
@ -17,7 +16,8 @@ class control(base_widget):
|
|||
%s
|
||||
</p>'''}
|
||||
|
||||
def create(self, action, method='post'):
|
||||
def create(self, action, method='post', title=None):
|
||||
self.inputs = []
|
||||
self.action = action
|
||||
self.method = method
|
||||
return self
|
||||
|
@ -27,7 +27,7 @@ class control(base_widget):
|
|||
if template:
|
||||
control.template = template
|
||||
|
||||
def append(self, input_type, input_name, label, values="", input_id=None, classes='validate', placeholder='', disabled=''):
|
||||
def append(self, input_type, input_name, label,values="", input_id=None, classes='validate', placeholder='', disabled='', selected=None):
|
||||
if input_type == 'select' and values:
|
||||
if type(values) is not list or tuple:
|
||||
form_control = """<select name="%s" id="%s">%s</select>""" % (
|
||||
|
@ -54,7 +54,7 @@ class control(base_widget):
|
|||
return self
|
||||
|
||||
form_control = """
|
||||
<input type="%s" name="%s" id="%s" placeholder="%s" %s classes="%s" value="%s" />
|
||||
<input type="%s" name="%s" id="%s" placeholder="%s" %s classes="%s" value="%s" %s/>
|
||||
<label for="%s">%s</label>""" % (
|
||||
input_type,
|
||||
input_name,
|
||||
|
@ -63,6 +63,7 @@ class control(base_widget):
|
|||
'disabled="disabled" ' if disabled else '',
|
||||
classes,
|
||||
values,
|
||||
'checked="checked"' if selected else '',
|
||||
input_id if input_id else '',
|
||||
label)
|
||||
self.apply_template(input_type, form_control)
|
||||
|
@ -74,10 +75,15 @@ class control(base_widget):
|
|||
|
||||
def render(self):
|
||||
super(control, self).render()
|
||||
|
||||
# <i class="material-icons right">send</i>
|
||||
return """
|
||||
<div class="row">
|
||||
<form class="col s12" method="%s" action="%s">
|
||||
%s
|
||||
|
||||
<button class="btn waves-effect waves-light" type="submit" name="action">Submit
|
||||
</button>
|
||||
</form>
|
||||
</div>""" % (
|
||||
self.method,
|
||||
|
|
Loading…
Reference in New Issue