コード例 #1
0
ファイル: main.py プロジェクト: omnipharious/InternWeekenders
def update(title):
    if not user.custom_data.get('posts'):
        user.custom_data['posts'] = []

    posts = []
    for account in stormpath_manager.application.accounts:
        if account.custom_data.get('posts'):
            posts.extend(account.custom_data['posts'])
    posts = sorted(posts, key=lambda k: k['date'], reverse=True)


    for post in user.custom_data['posts']:
        if post['title'] == title and str(post['user_email']) == str(user):
            user.custom_data['posts'].remove(post)
            print(user.custom_data['posts'])

    user.custom_data['posts'].append({
        'date': datetime.utcnow().isoformat(),
        'title': request.form['title'],
        'location': request.form['location'],
        'crowd': request.form['crowd'],
        'activity': request.form['activity'],
        'expense': request.form['expense'],
        'blog': request.form['blog'],
        'user_email': str(user),
        'vote': 0
        
    })
    #print(user.custom_data['posts'])
    user.save()

    return redirect(url_for('sites', page=1))
コード例 #2
0
ファイル: app.py プロジェクト: ondoheer/GOT-spanish
def dashboard():
    """Render a dashboard page for logged in users."""

    # Store some custom data in our user's account.
    user.custom_data['favorite_web_framework'] = 'Flask'
    user.save()

    return render_template('dashboard.html')
コード例 #3
0
ファイル: views.py プロジェクト: intermezzo-fr/ratex
def index():
    form = StartDateForm()
    if form.validate_on_submit():
        start_date = form.dt.data.strftime(Activity.DATE_FORMAT)
        user.custom_data['start_date'] = start_date
        user.save()
        set_globals()
    return render_template('index.html', form=form)
コード例 #4
0
def index():
    form = StartDateForm()
    if form.validate_on_submit():
        start_date = form.dt.data.strftime(Activity.DATE_FORMAT)
        user.custom_data['start_date'] = start_date
        user.save()
        set_globals()
    return render_template('index.html', form=form)
コード例 #5
0
ファイル: views.py プロジェクト: caseydm/photog
def account():
    # get group accounts
    group = user.groups.search({"name": user.custom_data["tenant_id"]})
    group = group[0]
    accounts = group.accounts
    if request.method == "POST":
        user.given_name = request.form["name"]
        user.save()
    return render_template("dashboard/account.html", user=user, accounts=accounts)
コード例 #6
0
def upload():

    if request.method == 'POST':
        
        # create and save car information        
        if not user.custom_data.get('posts'):
            user.custom_data['posts'] = []
            id = 1
        else:
            max = 1
            for post in user.custom_data['posts']:
                if post['numberplate'] > max:
                    max = post['numberplate']
            id = max+1
        

        user.custom_data['posts'].append({
            
            'numberplate': id,
            'year': request.form['year'],
            'plate': request.form['plate'],
            'make': request.form['make'],
            'model': request.form['model'],
            'trim': request.form['trim'],
            'colour': request.form['colour'],
            'transmission': request.form['transmission'],
            'doors': request.form['doors'],
            'owners': request.form['owners'],
            'extras': request.form['extras'].rstrip(',').split(','),
            'price': request.form['price'],
            'milage': request.form['milage'],
                           
            'fsh': checkboxStatus(request.form.get('fsh')),
            'abs': checkboxStatus(request.form.get('abs')),
            'cd': checkboxStatus(request.form.get('cd')),
            'ipod': checkboxStatus(request.form.get('ipod')),
            'ac': checkboxStatus(request.form.get('ac')),
            'em': checkboxStatus(request.form.get('em')),
            'ew': checkboxStatus(request.form.get('ew')),
            'cl': checkboxStatus(request.form.get('cl')),
            'alloys': checkboxStatus(request.form.get('alloys')),
            'fogs': checkboxStatus(request.form.get('fogs')),
            'eps': checkboxStatus(request.form.get('eps')),
            'pas': checkboxStatus(request.form.get('pas')),
            'imageNumber': 0,
            

        })
        user.save()

        flash('New car successfully added!')
        return redirect(url_for('stocklist'))
                                

    return render_template('upload.html')
コード例 #7
0
ファイル: flaskr.py プロジェクト: santiagou/desahogate.com
def add_post():
    if not user.custom_data.get("posts"):
        user.custom_data["posts"] = []

    user.custom_data["posts"].append(
        {"date": datetime.utcnow().isoformat(), "title": request.form["title"], "text": request.form["text"]}
    )
    user.save()

    flash("El mensaje ha sido registrado.")
    return redirect(url_for("show_posts"))
コード例 #8
0
ファイル: views.py プロジェクト: shahab3/photog
def account():
    # get group accounts
    group = user.groups.search({'name': user.custom_data['tenant_id']})
    group = group[0]
    accounts = group.accounts
    if request.method == 'POST':
        user.given_name = request.form['name']
        user.save()
    return render_template('dashboard/account.html',
                           user=user,
                           accounts=accounts)
コード例 #9
0
ファイル: CSRF.py プロジェクト: Rawkcy/CSRF
def add_post():
    if not user.custom_data.get('posts'):
        user.custom_data['posts'] = []

    user.custom_data['posts'].append({
        'date': datetime.utcnow().isoformat(),
        'user': request.form['user'],
        'status': request.form['status'],
    })
    user.save()
    flash('New post successfully added.')
    return redirect(url_for('show_posts'))
コード例 #10
0
ファイル: heartsing.py プロジェクト: ljz00us/heartsing
def add_post():
    if not user.custom_data.get('posts'):
        user.custom_data['posts'] = []
        user.custom_data['posts'].append({
            'date': datetime.utcnow().isoformat(),
            'title': request.form['title'],
            'text': request.form['text'],
            # 'emotion':flask.request.form['emotion'],
        })
    user.save()
    flash('New post successfully added.')
    return redirect(url_for('show_posts'))
コード例 #11
0
def settings():
    if request.method == 'GET':
        return render_template('settings.html')

    ## handle a POST
    try:
        user.username = request.form.get('username')
        user.email = request.form.get('email')
        user.given_name = request.form.get('first_name')
        user.surname = request.form.get('last_name')
        user.save()
    except StormpathError, err:
        return render_template('settings.html', error=err.message)
コード例 #12
0
ファイル: main.py プロジェクト: alchemist3/pollingApp
def add_post():
    if not user.custom_data.get('posts'):
        user.custom_data['posts'] = []

    user.custom_data['posts'].append({
        'date': datetime.utcnow().isoformat(),
        'title': request.form['title'],
        'text': request.form['text'],
    })
    user.save()

    flash('New post successfully added.')
    return redirect(url_for('show_posts'))
コード例 #13
0
def settings():
    if request.method == 'GET':
        return render_template('settings.html')

    ## handle a POST
    try:
        user.username = request.form.get('username')
        user.email = request.form.get('email')
        user.given_name = request.form.get('first_name')
        user.surname = request.form.get('last_name')
        user.save()
    except StormpathError, err:
        return render_template('settings.html', error=err.message)
コード例 #14
0
ファイル: user_routes.py プロジェクト: AJRenold/futurepress
def settings():
    if request.method == 'GET':
        return render_template('settings.html')

    is_author = True if request.form.get('is_author') is not None else False

    try:
        user.username = request.form.get('username')
        user.email = request.form.get('email')
        user.given_name = request.form.get('first_name')
        user.surname = request.form.get('last_name')
        user.save()
    except StormpathError, err:
        return render_template('settings.html', error=err.message)
コード例 #15
0
def add_post():
    if not user.custom_data.get('posts'):
        user.custom_data['posts'] = []

    user.custom_data['posts'].append({
        'numberplate': request.form['numberplate'],
        'make': request.form['make'],
        'model': request.form['model'],
        
    })
    user.save()

    flash('New post successfully added.')
    return redirect(url_for('show_posts'))
コード例 #16
0
def update(var):
    
    posts = user.custom_data['posts']
        
    for post in posts:
        if str(post['numberplate']) == var:
            
            # get extras list in nice form.
            extras = ""
            for x in post['extras']:
                extras = extras + x + ","
                            
            if request.method == 'POST':
                realImgCount=1    
                
                post['year'] = request.form['year']
                post['plate'] = request.form['plate']
                post['make'] = request.form['make']
                post['model'] = request.form['model']
                post['trim'] = request.form['trim']
                post['colour'] = request.form['colour']
                post['transmission'] = request.form['transmission']
                post['doors'] = request.form['doors']
                post['owners'] = request.form['owners']
                post['extras'] = request.form['extras'].rstrip(',').split(',')
                post['price'] = request.form['price']
                post['milage'] = request.form['milage']
                
                post['fsh'] = checkboxStatus(request.form.get('fsh'))
                post['abs'] = checkboxStatus(request.form.get('abs'))
                post['cd'] = checkboxStatus(request.form.get('cd'))
                post['ipod'] = checkboxStatus(request.form.get('ipod'))
                post['ac'] = checkboxStatus(request.form.get('ac'))
                post['em'] = checkboxStatus(request.form.get('em'))
                post['ew'] = checkboxStatus(request.form.get('ew'))
                post['cl'] = checkboxStatus(request.form.get('cl'))
                post['alloys'] = checkboxStatus(request.form.get('alloys'))
                post['fogs'] = checkboxStatus(request.form.get('fogs'))
                post['eps'] = checkboxStatus(request.form.get('eps'))
                post['pas'] = checkboxStatus(request.form.get('pas'))     
                    
                user.save()
                        
                flash('Car Information Successfully Updated!')
                return redirect(url_for('stocklist'))
        
                
            return render_template('update.html', post=post)

    return abort(404)           
コード例 #17
0
def delete(var):
    
    posts = user.custom_data['posts']
    
    # delete car information
    for post in posts:
        if str(post['numberplate']) == var:
            user.custom_data['posts'].pop(user.custom_data['posts'].index(post))
            user.save()
            
    #delete car images
    for filename in glob.glob("static/car-photos/"+var+"_*"):
        os.remove(filename)
        
    return redirect(url_for('stocklist'))
コード例 #18
0
ファイル: main.py プロジェクト: omnipharious/InternWeekenders
def delete(title):
    if not user.custom_data.get('posts'):
        user.custom_data['posts'] = []

    posts = []
    for account in stormpath_manager.application.accounts:
        if account.custom_data.get('posts'):
            posts.extend(account.custom_data['posts'])
    posts = sorted(posts, key=lambda k: k['date'], reverse=True)

    for post in user.custom_data['posts']:
        if post['title'] == title and str(post['user_email']) == str(user):
             user.custom_data['posts'].remove(post)

    user.save()

    return render_template('delete.html', title=title)
コード例 #19
0
ファイル: routes.py プロジェクト: aguarin1/swattank_website
def dashboard():
    """
    This view renders a simple dashboard page for logged in users.

    Users can see their personal information on this page, as well as store
    additional data to their account (if they so choose).
    """
    if request.method == 'POST':
        if request.form.get('ideatitle'):
            user.custom_data['ideatitle'] = request.form.get('ideatitle')

        if request.form.get('classyear'):
            user.custom_data['classyear'] = request.form.get('classyear')

        user.save()

    return render_template('dashboard.html')
コード例 #20
0
ファイル: app.py プロジェクト: zdogan/stormpath-flask-sample
def dashboard():
    """
    This view renders a simple dashboard page for logged in users.

    Users can see their personal information on this page, as well as store
    additional data to their account (if they so choose).
    """
    if request.method == 'POST':
        if request.form.get('birthday'):
            user.custom_data['birthday'] = request.form.get('birthday')

        if request.form.get('color'):
            user.custom_data['color'] = request.form.get('color')

        user.save()

    return render_template('dashboard.html')
コード例 #21
0
def add_post():

  # Gives the user a custom post dictionary
  if not user.custom_data.get('posts'):
    user.custom_data['posts'] = []

  # Inserts the data into the posts distionary with date, title, and text
  user.custom_data['posts'].append({
    'date': datetime.utcnow().isoformat(),
    'title': request.form['title'],
    'text': request.form['text'],
  })
  user.save()

  # Tells the user that their post was successfully posted
  flash('New post successfully added.')

  return redirect(url_for('show_posts'))
コード例 #22
0
ファイル: main.py プロジェクト: omnipharious/InternWeekenders
def submit():
    if not user.custom_data.get('posts'):
        user.custom_data['posts'] = []

    user.custom_data['posts'].append({
        'date': datetime.utcnow().isoformat(),
        'title': request.form['title'],
        'location': request.form['location'],
        'crowd': request.form['crowd'],
        'activity': request.form['activity'],
        'expense': request.form['expense'],
        'blog': request.form['blog'],
        'user_email': str(user),
		'comment_id': "1234random",
        'vote': 0
    })
    user.save()
    print(user.custom_data['posts'])

    return redirect(url_for('sites', page=1,user=str(user)))
コード例 #23
0
def updatephotos(var):
    
    posts = user.custom_data['posts']
        
    for post in posts:
        if str(post['numberplate']) == var:
                            
            if request.method == 'POST':
                realImgCount=1
        
                #remove current images
                for filename in glob.glob("static/car-photos/"+var+"_*"):
                    os.remove(filename)
        
                # check if images are valid
                for i in range(1,6):
                    file = request.files['file'+str(i)]
                    if file:
                        if not(allowed_file(file.filename)):
                            return render_template('upload_error.html', errorfile=str(file.filename))
        
                # save images to car-photos folder
                for i in range(1,6):
                    file = request.files['file'+str(i)]
                    if file:
                        filename = secure_filename(file.filename)  
                        file.save(os.path.join(app.config['UPLOAD_FOLDER'], var+'_'+str(realImgCount)+'.'+filename.rsplit('.',1)[1]))
                        realImgCount += 1
                
                post['imageNumber'] = realImgCount-1
                user.save()
                       
                flash('Car Images Successfully Updated!')
                return redirect(url_for('stocklist'))
                        
            return render_template('update_photos.html', post=post)
            
    return abort(404)           
コード例 #24
0
ファイル: main.py プロジェクト: omnipharious/InternWeekenders
def comment(comment_id):
	if not user.custom_data.get('comments'):
		user.custom_data['comments'] = []
		
	comment = {
		'date': datetime.utcnow().isoformat(),
		'title': request.form['title'],
		'comment_text': request.form['comment'],
		'comment_id': comment_id
	}
	
	user.custom_data['comments'].append(comment)
	user.save()
	'''
	posts = []
	post_by_name = 0
	for account in stormpath_manager.application.accounts:
		if account.custom_data.get('posts'):
			posts.extend(account.custom_data['posts'])
	for post in posts:
		if post['comment_id'] == comment_id:
			post_by_id = post
	'''		
	return redirect(url_for('sites', page = 1))
コード例 #25
0
ファイル: views.py プロジェクト: intermezzo-fr/ratex
def set_globals():
    g.user = user
    g.total_activities = 0
    g.total_meters = 0
    g.route_activities = 0
    g.route_meters = 0
    if hasattr(user, 'custom_data'):
        if user.custom_data['start_date'] is None:
            user.custom_data['start_date'] = application.config['START_DATE']
            user.save()
        if user.custom_data['route'] is None:
            user.custom_data['route'] = application.config['ROUTE']
            user.save()
        route_activities = []
        for a in user.custom_data['activities']:
            g.total_activities = g.total_activities + 1
            g.total_meters = g.total_meters + a['distance']
            if a['start_time'] >= user.custom_data['start_date']:
                g.route_activities = g.route_activities + 1
                g.route_meters = g.route_meters + a['distance']
                route_activities.append(a)
        # save the custom data
        user.custom_data['route_activities'] = route_activities
        user.save()
コード例 #26
0
def set_globals():
    g.user = user
    g.total_activities = 0
    g.total_meters = 0
    g.route_activities = 0
    g.route_meters = 0
    if hasattr(user, 'custom_data'):
        if user.custom_data['start_date'] is None:
            user.custom_data['start_date'] = application.config['START_DATE']
            user.save()
        if user.custom_data['route'] is None:
            user.custom_data['route'] = application.config['ROUTE']
            user.save()
        route_activities = []
        for a in user.custom_data['activities']:
            g.total_activities = g.total_activities + 1
            g.total_meters = g.total_meters + a['distance']
            if a['start_time'] >= user.custom_data['start_date']:
                g.route_activities = g.route_activities + 1
                g.route_meters = g.route_meters + a['distance']
                route_activities.append(a)
        # save the custom data
        user.custom_data['route_activities'] = route_activities
        user.save()
コード例 #27
0
def set_route():
    user.custom_data['route'] = json.loads(request.args.get('route_markers'))
    user.save()
    return redirect(url_for('index'))
コード例 #28
0
ファイル: views.py プロジェクト: intermezzo-fr/ratex
def set_route():
    user.custom_data['route'] = json.loads(request.args.get('route_markers'))
    user.save()
    return redirect(url_for('index'))
コード例 #29
0
def charge():
    """
    Charge this user, and take their moneys!
    """
    # By default, the following is true:
    # - All investments are 20$.
    # - The default lower limit is 50%.
    # - The default upper limit is 50%.
    amount = 100
    #lower_limit = int(request.form.get('lower-limit')) or 50
    #upper_limit = int(request.form.get('upper-limit')) or 50
    lower_limit = 50
    upper_limit = 50
    id = uuid4().hex

    # Create a Strip customer.
    customer = stripe.Customer.create(
        email=user.email,
        card=request.form['stripeToken'],
    )

    # Bill the user.
    stripe.Charge.create(
        customer=customer.id,
        amount=amount,
        currency='usd',
        description='BitRich Investment',
    )

    # Get current exchange rates:
    resp = get('https://coinbase.com/api/v1/currencies/exchange_rates')
    rate = float(resp.json()['usd_to_btc'])

    resp = post(
        'https://coinbase.com/api/v1/buys?api_key=%s' %
        app.config['COINBASE_API_KEY'],
        headers={
            'Content-Type': 'application/json',
        },
        data=dumps({'qty': rate * (amount / 100)}),
    )

    # Store investment details in Stormpath.
    try:
        user.custom_data['investments'].append({
            'id':
            id,
            'created':
            datetime.utcnow().isoformat(),
            'updated':
            datetime.utcnow().isoformat(),
            'deposit_amount_usd':
            amount,
            'deposit_amount_bitcoin':
            float(resp.json()['transfer']['btc']['amount']),
            'lower_limit':
            lower_limit,
            'upper_limit':
            upper_limit,
        })
    except:
        user.custom_data['investments'] = []
        user.custom_data['investments'].append({
            'id':
            id,
            'created':
            datetime.utcnow().isoformat(),
            'updated':
            datetime.utcnow().isoformat(),
            'deposit_amount_usd':
            amount,
            'deposit_amount_bitcoin':
            float(resp.json()['transfer']['btc']['amount']),
            'lower_limit':
            lower_limit,
            'upper_limit':
            upper_limit,
        })

    user.save()

    message = Mail(
        to=user.email,
        subject='Thanks for your Investment!',
        text='',
        from_email='*****@*****.**',
    )
    message.set_html(
        render_template(
            'email/deposit_email.html',
            user=user,
        ).encode('utf_8').decode('unicode_escape'))
    sendgrid.send(message)

    return redirect(url_for('dashboard'))
コード例 #30
0
ファイル: app.py プロジェクト: rdegges/bitrich-www
def charge():
    """
    Charge this user, and take their moneys!
    """
    # By default, the following is true:
    # - All investments are 20$.
    # - The default lower limit is 50%.
    # - The default upper limit is 50%.
    amount = 100
    #lower_limit = int(request.form.get('lower-limit')) or 50
    #upper_limit = int(request.form.get('upper-limit')) or 50
    lower_limit = 50
    upper_limit = 50
    id = uuid4().hex

    # Create a Strip customer.
    customer = stripe.Customer.create(
        email = user.email,
        card = request.form['stripeToken'],
    )

    # Bill the user.
    stripe.Charge.create(
        customer = customer.id,
        amount = amount,
        currency = 'usd',
        description = 'BitRich Investment',
    )

    # Get current exchange rates:
    resp = get('https://coinbase.com/api/v1/currencies/exchange_rates')
    rate = float(resp.json()['usd_to_btc'])

    resp = post(
        'https://coinbase.com/api/v1/buys?api_key=%s' % app.config['COINBASE_API_KEY'],
        headers = {
            'Content-Type': 'application/json',
        },
        data = dumps({'qty': rate * (amount / 100)}),
    )

    # Store investment details in Stormpath.
    try:
        user.custom_data['investments'].append({
            'id': id,
            'created': datetime.utcnow().isoformat(),
            'updated': datetime.utcnow().isoformat(),
            'deposit_amount_usd': amount,
            'deposit_amount_bitcoin': float(resp.json()['transfer']['btc']['amount']),
            'lower_limit': lower_limit,
            'upper_limit': upper_limit,
        })
    except:
        user.custom_data['investments'] = []
        user.custom_data['investments'].append({
            'id': id,
            'created': datetime.utcnow().isoformat(),
            'updated': datetime.utcnow().isoformat(),
            'deposit_amount_usd': amount,
            'deposit_amount_bitcoin': float(resp.json()['transfer']['btc']['amount']),
            'lower_limit': lower_limit,
            'upper_limit': upper_limit,
        })

    user.save()

    message = Mail(
        to = user.email,
        subject = 'Thanks for your Investment!',
        text = '',
        from_email = '*****@*****.**',
    )
    message.set_html(render_template(
        'email/deposit_email.html',
        user = user,
    ).encode('utf_8').decode('unicode_escape'))
    sendgrid.send(message)

    return redirect(url_for('dashboard'))