Remove A-Z hero challenge stuff
This commit is contained in:
parent
7c3eade8dc
commit
2420f10cda
@ -1,6 +1,5 @@
|
||||
import simplejson as json
|
||||
from datetime import datetime
|
||||
from random import choice
|
||||
from flask.ext.sqlalchemy import SQLAlchemy
|
||||
from sqlalchemy.ext.mutable import Mutable
|
||||
|
||||
@ -69,16 +68,14 @@ class User(db.Model):
|
||||
|
||||
nickname = db.Column(db.String(80))
|
||||
avatar = db.Column(db.String(255))
|
||||
admin = db.Column(db.Boolean)
|
||||
|
||||
bio_text = db.Column(db.String(4096))
|
||||
created = db.Column(db.DateTime)
|
||||
last_seen = db.Column(db.DateTime)
|
||||
twitch = db.Column(db.String(60))
|
||||
hitbox = db.Column(db.String(60))
|
||||
random_heroes = db.Column(MutableDict.as_mutable(Json))
|
||||
az_completions = db.Column(db.Integer)
|
||||
|
||||
admin = db.Column(db.Boolean)
|
||||
public = db.Column(db.Boolean)
|
||||
logo = db.Column(db.Boolean)
|
||||
|
||||
@ -114,7 +111,6 @@ class User(db.Model):
|
||||
|
||||
def __init__(self, steam_id):
|
||||
self.steam_id = steam_id
|
||||
self.random_heroes = {'current':None, 'completed':[]}
|
||||
self.az_completions = 0
|
||||
self.ts3_connections = {'list':[]}
|
||||
self.ts3_rewardtime = datetime.utcnow()
|
||||
@ -127,44 +123,6 @@ class User(db.Model):
|
||||
self.admin = False
|
||||
self.public = True
|
||||
self.biglogo = True
|
||||
|
||||
@property
|
||||
def random_hero(self):
|
||||
if not self.random_heroes['current']:
|
||||
heroes = []
|
||||
for (tavern_name, tavern) in parse_valve_heropedia():
|
||||
heroes.extend([complete_hero_data('name', entry['name']) for entry in tavern if entry['name'] not in self.random_heroes['completed']])
|
||||
if heroes:
|
||||
self.random_heroes['current'] = choice(heroes)
|
||||
self.random_heroes = self.random_heroes
|
||||
db.session.commit()
|
||||
return self.random_heroes['current']
|
||||
|
||||
@random_hero.setter
|
||||
def random_hero(self, herodata):
|
||||
self.random_heroes['current'] = herodata
|
||||
self.random_heroes = self.random_heroes
|
||||
db.session.commit()
|
||||
|
||||
@property
|
||||
def random_completed(self):
|
||||
return self.random_heroes['completed']
|
||||
|
||||
def random_success(self):
|
||||
self.random_heroes['completed'].append(self.random_heroes['current']['name'])
|
||||
if len(API_DATA['result']['heroes']) - len(self.random_heroes['completed']) <= 0:
|
||||
self.az_completions = self.az_completions + 1
|
||||
del self.random_heroes['completed'][:]
|
||||
self.random_heroes['current'] = None
|
||||
self.random_heroes = self.random_heroes
|
||||
db.session.commit()
|
||||
return self.random_hero
|
||||
|
||||
def random_skip(self):
|
||||
self.random_heroes['current'] = None
|
||||
self.random_heroes = self.random_heroes
|
||||
db.session.commit()
|
||||
return self.random_hero
|
||||
|
||||
def update_connection(self, reward_threshold=30):
|
||||
now = datetime.utcnow()
|
||||
|
@ -1,89 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block head %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/heropedia.css') }}" >
|
||||
{% endblock %}
|
||||
|
||||
{% block title %} A-Z Challenge: {{ user.nickname }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% set taverns = heropedia() %}
|
||||
<h2 class="uk-text-center">{{ user.nickname }}'s A-Z Challenge</h2>
|
||||
<hr />
|
||||
<div class="uk-grid">
|
||||
<div class="uk-width-large-1-3 uk-width-medium-1-1 uk-panel uk-text-center uk-margin-bottom">
|
||||
<h3 class="uk-panel-title">Current Hero</h3>
|
||||
<h4 class="uk-text-bold uk-margin-remove">{{ user.random_hero['localized_name'] }}</h4>
|
||||
<img src="{{ url_for('static', filename=hero_image_large(user.random_hero)) }}" class="dn-hero-icon" />
|
||||
|
||||
<p>
|
||||
<span id="heroes_completed">Heroes Completed: {{ user.random_heroes.completed | length }}</span><br/>
|
||||
<span id="heroes_left">Heroes Left: {{ total_hero_pool() - user.random_heroes.completed|length }}</span>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
{% if g.user and g.user.steam_id == user.steam_id %}
|
||||
<form action="{{ url_for('user_random_hero', userid=g.user.id) }}" method="post" id="random_form" class="uk-margin">
|
||||
<input type="checkbox" name="completed" id="completed_checkbox" style="display:none;">
|
||||
<input type="checkbox" name="skip" id="skip_checkbox" style="display:none;">
|
||||
<a class="uk-button uk-button-success" id="completed_button">Completed!</a>
|
||||
<a class="uk-button uk-button-primary" id="skip_button">Skip</a>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="uk-width-large-2-3 uk-width-medium-1-1 uk-panel uk-text-center uk-margin">
|
||||
{% if user.az_completions > 0 %}
|
||||
<div class="uk-badge uk-panel-badge uk-badge-notification uk-badge-success">x{{ user.az_completions }}</div>
|
||||
{% endif %}
|
||||
<h3 class="uk-panel-title">Completed</h3>
|
||||
{% for hero in user.random_heroes.completed %}
|
||||
<img src="{{ url_for('static', filename=hero_image_small(hero)) }}" class="dn-hero-icon" />
|
||||
{% endfor %}
|
||||
<br/><br/>
|
||||
<br/><br/>
|
||||
</div>
|
||||
<div class="uk-width-large-2-3 uk-width-medium-1-1 uk-container-center">
|
||||
<ul class="uk-tab" data-uk-tab="{connect:'#taverns'}">
|
||||
<li class="uk-active"><a href="">Strength</a></li>
|
||||
<li><a href="">Agility</a></li>
|
||||
<li><a href="">Intelligence</a></li>
|
||||
</ul>
|
||||
<ul id="taverns" class="uk-switcher uk-margin">
|
||||
<li><div class="uk-panel tavern">
|
||||
<label id="tavernStrength">Strength</label>
|
||||
{% for hero in taverns[0][1] + taverns[3][1] %}
|
||||
<img class="{{hero['name'] in user.random_completed and 'filterUnmatchedHero' or 'filterMatchedHero' }}" id="{{ hero['name'] }}" src="{{ url_for('static', filename=hero_image_small(hero)) }}" />
|
||||
{% endfor %}
|
||||
</div></li>
|
||||
<li><div class="uk-panel tavern">
|
||||
<label id="tavernAgility">Agility</label>
|
||||
{% for hero in taverns[1][1] + taverns[4][1] %}
|
||||
<img class="{{hero['name'] in user.random_completed and 'filterUnmatchedHero' or 'filterMatchedHero' }}" id="{{ hero['name'] }}" src="{{ url_for('static', filename=hero_image_small(hero)) }}" />
|
||||
{% endfor %}
|
||||
</div> </li>
|
||||
<li><div class="uk-panel tavern">
|
||||
<label id="tavernIntelligence">Intelligence</label>
|
||||
{% for hero in taverns[2][1] + taverns[5][1] %}
|
||||
<img class="{{hero['name'] in user.random_completed and 'filterUnmatchedHero' or 'filterMatchedHero' }}" id="{{ hero['name'] }}" src="{{ url_for('static', filename=hero_image_small(hero)) }}" />
|
||||
{% endfor %}
|
||||
</div> </li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% if g.user and g.user.id == user.id %}
|
||||
{% block pagescripts %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#completed_button').click( function() {
|
||||
$('#completed_checkbox').attr('checked', true);
|
||||
$('#random_form').submit();
|
||||
});
|
||||
$('#skip_button').click( function() {
|
||||
$('#skip_checkbox').attr('checked', true);
|
||||
$('#random_form').submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
@ -35,7 +35,6 @@
|
||||
<div class="uk-dropdown uk-dropdown-navbar">
|
||||
<ul class="uk-nav uk-nav-navbar">
|
||||
<li><a href="{{ url_for('user_profile', userid=g.user.id) }}">Profile</a></li>
|
||||
<li><a href="{{ url_for('user_random_hero', userid=g.user.id) }}">A-Z Challenge</a></li>
|
||||
<li><a href="http://board.dotanoobs.com/?page=lastposts">Latest Posts</a></li>
|
||||
{% if g.user.admin %}
|
||||
<li><a href="{{ url_for('event_edit') }}">Add Event</a></li>
|
||||
|
@ -15,16 +15,7 @@
|
||||
</div>
|
||||
<!-- Side bar -->
|
||||
<div class="uk-width-large-1-3 uk-width-medium-1-1 uk-panel uk-panel-box uk-panel-box-secondary">
|
||||
<div class="uk-container-center uk-text-center">
|
||||
<span class="uk-text-bold">Current Hero</span><br/>
|
||||
<span>{{ user.random_hero['localized_name'] }}</span><br/>
|
||||
<a href={{ url_for('user_random_hero', userid=user.id) }}>
|
||||
<img src="{{ url_for('static', filename=hero_image_large(user.random_hero)) }}" class="dn-hero-icon" /><br/>
|
||||
<span>View A-Z Progress</span>
|
||||
</a>
|
||||
</div>
|
||||
<ul class="uk-list uk-list-space uk-list-striped uk-text-center">
|
||||
<li>Completed <span id='rands'>{{ user.random_heroes.completed | length }}</span> heroes in A-Z</li>
|
||||
<li>Has <span id='points_total'>0</span> doobs points</li>
|
||||
<li>Last seen at <span class='date'> {{ user.last_seen | js_datetime }}</span></li>
|
||||
<li>Doob since <span class='date'> {{ user.created | js_datetime }}</span></li>
|
||||
|
@ -45,19 +45,6 @@
|
||||
<!-- Side bar -->
|
||||
<div class="uk-width-large-1-3 uk-width-medium-1-1 uk-panel">
|
||||
{% if user.public %}
|
||||
<div class="uk-container-center uk-text-center">
|
||||
<span class="uk-text-bold">Current Hero</span><br/>
|
||||
<span class="uk-text-success uk-text-bold">
|
||||
{{ user.random_hero['localized_name'] }}
|
||||
({{ user.random_heroes.completed | length + 1 }}
|
||||
/
|
||||
{{ total_hero_pool() - user.random_heroes.completed|length }})
|
||||
</span><br/>
|
||||
<a href={{ url_for('user_random_hero', userid=user.id) }}>
|
||||
<img src="{{ url_for('static', filename=hero_image_large(user.random_hero)) }}" class="dn-hero-icon" /><br/>
|
||||
<span>View A-Z Progress</span>
|
||||
</a>
|
||||
</div>
|
||||
<table class="uk-table uk-table-hover uk-table-condensed">
|
||||
<caption>{{ user.nickname }}</caption>
|
||||
<tbody class="uk-text-small">
|
||||
|
11
app/views.py
11
app/views.py
@ -86,17 +86,6 @@ def user_profile(userid):
|
||||
user = User.query.filter_by(id=userid).first_or_404()
|
||||
return render_template('profile.html', user=user)
|
||||
|
||||
# User random a-z challenge progress page
|
||||
@app.route('/user/<int:userid>/random', methods=['POST', 'GET'])
|
||||
def user_random_hero(userid):
|
||||
user = User.query.filter_by(id=userid).first_or_404()
|
||||
if request.method == 'POST':
|
||||
if request.form.get('skip', False):
|
||||
user.random_skip()
|
||||
elif request.form.get('completed', False):
|
||||
user.random_success()
|
||||
return render_template('hero_random.html', user=user)
|
||||
|
||||
# User settings page
|
||||
@app.route('/settings', methods=['POST', 'GET'])
|
||||
@login_required
|
||||
|
Loading…
x
Reference in New Issue
Block a user