Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 20 additions & 6 deletions static/js/task.js
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,17 @@ $(document).ready(function(){

$(document).ready(function(){
$(document).on('click', '.updateButton', function(){
if ($(this).data('type') === 'bossPet' || $(this).data('type') === 'skillPet' || $(this).data('type') === 'otherPet'){
if ($(this).data('type') === 'bossPets' || $(this).data('type') === 'skillPets' || $(this).data('type') === 'otherPets'){
var tier = $(this).data('type');
var updatePercent = document.getElementById("allPetsPercent")
}
else {
var tier = $('#tier').data('tier');
var updatePercent = document.getElementById(tier + "Percent")
}
var elementTarget = this;
var parent = elementTarget.parentElement;
const updatePercent = document.getElementById(tier + "Percent")



$('form').submit(false);
Expand All @@ -280,7 +282,12 @@ $(document).ready(function(){
$(elementTarget).removeClass('updateButton').addClass('revertButton');
$(parent).removeClass('incomplete-hover').addClass('complete-hover');
parent.setAttribute('data-tooltip', 'Mark Incomplete');
updatePercent.innerHTML = data[tier] + '%'
if (tier === 'bossPets' || tier === 'skillPets' || tier === 'otherPets'){
updatePercent.innerHTML = data["allPets"] + '%';
}
else {
updatePercent.innerHTML = data[tier] + '%';
}

for (const child of elementTarget.children) {
if (child.tagName === 'DIV') {
Expand All @@ -300,15 +307,17 @@ $(document).ready(function(){

$(document).ready(function(){
$(document).on('click', '.revertButton', function(){
if ($(this).data('type') === 'bossPet' || $(this).data('type') === 'skillPet' || $(this).data('type') === 'otherPet'){
if ($(this).data('type') === 'bossPets' || $(this).data('type') === 'skillPets' || $(this).data('type') === 'otherPets'){
var tier = $(this).data('type');
var updatePercent = document.getElementById("allPetsPercent")
}
else {
var tier = $('#tier').data('tier');
const updatePercent = document.getElementById(tier + "Percent")
}
var elementTarget = this;
var parent = elementTarget.parentElement;
const updatePercent = document.getElementById(tier + "Percent")


$('form').submit(false);
req = $.ajax({
Expand All @@ -322,7 +331,12 @@ $(document).ready(function(){
$(elementTarget).removeClass('revertButton').addClass('updateButton');
$(parent).removeClass('complete-hover').addClass('incomplete-hover');
parent.setAttribute('data-tooltip', 'Mark Complete');
updatePercent.innerHTML = data[tier] + '%'
if (tier === 'bossPets' || tier === 'skillPets' || tier === 'otherPets'){
updatePercent.innerHTML = data["allPets"] + '%';
}
else {
updatePercent.innerHTML = data[tier] + '%';
}

for (const child of elementTarget.children) {
if (child.tagName === 'DIV') {
Expand Down
145 changes: 103 additions & 42 deletions task_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,20 +261,20 @@ def __set_task_complete(username: str, tier: str, task_id: int, complete: bool):
# '%s.$.taskCurrent' % tier: False}})
task_coll = mydb['taskLists']
cleaned_tier = tier.replace("Tasks", "")
# task_coll.update_one({'username': username}, {"$push" : {f"tiers.{cleaned_tier}.completedTasks": {}}})
result = task_coll.update_one(
{"username": username},
{
"$push": {
f"tiers.{cleaned_tier}.completedTasks": {"taskId": task_id}
},
"$unset": {
f"tiers.{cleaned_tier}.currentTask": ""
}
}
)
if complete:
print(f"tiers.{cleaned_tier}.completedTasks", task_id)
result = task_coll.update_one(
{"username": username},
{
"$push": {
f"tiers.{cleaned_tier}.completedTasks": {"taskId": task_id}
},
"$unset": {
f"tiers.{cleaned_tier}.currentTask": ""
}
}
)
if not complete:
print('removing from completed list')
remove_completed = task_coll.update_one(
{
"username" : username
Expand Down Expand Up @@ -525,30 +525,74 @@ def get_task_progress(username: str):


def get_task_lists(username):
coll = mydb['taskAccounts']
task_query_easy = coll.find({'username': username}, {'easyTasks': 1})
task_query_medium = coll.find({'username': username}, {'mediumTasks': 1})
task_query_hard = coll.find({'username': username}, {'hardTasks': 1})
task_query_elite = coll.find({'username': username}, {'eliteTasks': 1})
task_query_master = coll.find({'username': username}, {'masterTasks' : 1})
task_query_bosspet = coll.find({'username': username}, {'bossPetTasks': 1})
task_query_skillpet = coll.find({'username': username}, {'skillPetTasks': 1})
task_query_otherpet = coll.find({'username': username}, {'otherPetTasks': 1})
task_query_extra = coll.find({'username': username}, {'extraTasks': 1})
task_query_passive = coll.find({'username': username}, {'passiveTasks': 1})

easy_list = task_query_easy[0]['easyTasks']
medium_list = task_query_medium[0]['mediumTasks']
hard_list = task_query_hard[0]['hardTasks']
elite_list = task_query_elite[0]['eliteTasks']
master_list = task_query_master[0]['masterTasks']
bosspet_list = task_query_bosspet[0]['bossPetTasks']
skillpet_list = task_query_skillpet[0]['skillPetTasks']
otherpet_list = task_query_otherpet[0]['otherPetTasks']
extra_list = task_query_extra[0]['extraTasks']
passive_list = task_query_passive[0]['passiveTasks']

return easy_list, medium_list, hard_list, elite_list, master_list, bosspet_list, skillpet_list, otherpet_list, extra_list, passive_list
coll = mydb['taskLists']
task_list_query = coll.find_one({"username" : username}, {"_id" : 0 , "username" : 1, "tiers": 1})
bossPets = []
skillPets = []
otherPets = []
completed_bossPet_ids = task_list_query['tiers']['bossPets']['completedTasks']
completed_skillPet_ids = task_list_query['tiers']['skillPets']['completedTasks']
completed_otherPet_ids = task_list_query['tiers']['otherPets']['completedTasks']



for boss_pet_task in tasklists.boss_pet:
if completed_bossPet_ids:
for id in completed_bossPet_ids:
if boss_pet_task.id == id['taskId']:
print(boss_pet_task)
boss_pet_task.isCompleted = True

bossPets.append(boss_pet_task)

for skill_pet_task in tasklists.skill_pet:
if completed_skillPet_ids:
for id in completed_skillPet_ids:
if skill_pet_task.id == id['taskId']:
skill_pet_task.isCompleted = True


skillPets.append(skill_pet_task)

for other_pet_task in tasklists.other_pet:
if completed_otherPet_ids:
for id in completed_otherPet_ids:
if other_pet_task.id == id['taskId']:
other_pet_task.isCompleted = True
else:
other_pet_task.isCompleted = False

otherPets.append(other_pet_task)

return bossPets, tasklists.skill_pet, tasklists.other_pet
bossPets = list()
for task in tasklists.boss_pet:
task_data = TaskData()
# bossPets = list(map(lambda x: x['taskId'], task_list_query['tiers']['bossPets']['completedTasks']))
print(bossPets)
# task_query_easy = coll.find({'username': username}, {'easyTasks': 1})
# task_query_medium = coll.find({'username': username}, {'mediumTasks': 1})
# task_query_hard = coll.find({'username': username}, {'hardTasks': 1})
# task_query_elite = coll.find({'username': username}, {'eliteTasks': 1})
# task_query_master = coll.find({'username': username}, {'masterTasks' : 1})
# task_query_bosspet = coll.find({'username': username}, {'bossPetTasks': 1})
# task_query_skillpet = coll.find({'username': username}, {'skillPetTasks': 1})
# task_query_otherpet = coll.find({'username': username}, {'otherPetTasks': 1})
# task_query_extra = coll.find({'username': username}, {'extraTasks': 1})
# task_query_passive = coll.find({'username': username}, {'passiveTasks': 1})

# easy_list = task_query_easy[0]['easyTasks']
# medium_list = task_query_medium[0]['mediumTasks']
# hard_list = task_query_hard[0]['hardTasks']
# elite_list = task_query_elite[0]['eliteTasks']
# master_list = task_query_master[0]['masterTasks']
# bosspet_list = task_query_bosspet[0]['bossPetTasks']
# skillpet_list = task_query_skillpet[0]['skillPetTasks']
# otherpet_list = task_query_otherpet[0]['otherPetTasks']
# extra_list = task_query_extra[0]['extraTasks']
# passive_list = task_query_passive[0]['passiveTasks']

# return easy_list, medium_list, hard_list, elite_list, master_list, bosspet_list, skillpet_list, otherpet_list, extra_list, passive_list


'''
Expand All @@ -571,7 +615,7 @@ def manual_complete_tasks(username, tier, task_id):
__set_task_complete(username, tier, task_id, True)
exclude_list = ['bossPetTasks', 'skillPetTasks', 'otherPetTasks']
if tier in exclude_list:
tier = tier.replace('Tasks', 's')
tier = tier.replace('Tasks', '')
task = user_dao.task_info_for_id(tasklists.list_for_tier(tier), task_id)
return task.name, task.asset_image, task.tip, task.wiki_link

Expand All @@ -596,8 +640,9 @@ def manual_revert_tasks(username, tier, task_id):
__set_task_complete(username, tier, task_id, False)
exclude_list = ['bossPetTasks', 'skillPetTasks', 'otherPetTasks']
if tier in exclude_list:
tier = tier.replace('Tasks', 's')
tier = tier.replace('Tasks', '')
task = user_dao.task_info_for_id(tasklists.list_for_tier(tier), task_id)
task.isCompleted = False
return task.name, task.asset_image, task.tip, task.wiki_link


Expand Down Expand Up @@ -1286,13 +1331,29 @@ def test():
if not isinstance(otherPets, dict):
valid = False

# if not valid:
# task_coll.update_one({"username" : result['username']}, {"$set":})
if not valid:
print("Invalid data type for user: ", result['username'])
task_coll.update_one(
{"username" : result['username']},
{"$set": {
"tiers.easy": {"completedTasks" : []},
"tiers.medium": {"completedTasks" : []},
"tiers.hard": {"completedTasks" : []},
"tiers.elite": {"completedTasks" : []},
"tiers.master": {"completedTasks" : []},
"tiers.passive": {"completedTasks" : []},
"tiers.extra": {"completedTasks" : []},
"tiers.bossPets": {"completedTasks" : []},
"tiers.skillPets": {"completedTasks" : []},
"tiers.otherPets": {"completedTasks" : []}
}
})

def fix_gerni():
task_coll = mydb["taskLists"]
task_coll.update_one({"username": "GerniFix"})
results = task_coll.find({}, {'tiers': 1, 'username': 1})
if __name__ == "__main__":
test()
# test()
get_task_lists('GerniSleep')
pass
17 changes: 7 additions & 10 deletions taskapp.py
Original file line number Diff line number Diff line change
Expand Up @@ -656,13 +656,15 @@ def task_list_master():
@login_required
def task_list_pets():
user_info = BasePageInfo()

# if not user_info.email_bool:
# return render_template('email-verify.html')
task = get_task_lists(user_info.username)
progress = get_task_progress(user_info.username)
items_bosspet = filter_lms(task[5])
items_skillpet = filter_lms(task[6])
items_otherpet = filter_lms(task[7])
items_bosspet = task[0]
items_skillpet = task[1]
items_otherpet = task[2]


context = {
'easy': progress['easy']['percent_complete'],
Expand Down Expand Up @@ -739,10 +741,7 @@ def highscores():
def update():
user_info = BasePageInfo()
task_id = request.form['id']
if request.form["tier"] == 'bossPets' or request.form["tier"] == 'skillPets' or request.form["tier"] == 'otherPets':
tier = request.form["tier"]
else:
tier = request.form['tier'] + 'Tasks'
tier = request.form['tier']
manual_complete_tasks(session['username'], tier, task_id)
progress = get_task_progress(user_info.username)
data = {
Expand All @@ -764,7 +763,7 @@ def update():
@login_required
def revert():
task_id = request.form['id']
tier = request.form['tier'] + 'Tasks'
tier = request.form['tier']
user_info = BasePageInfo()
manual_revert_tasks(session['username'], tier, task_id)
progress = get_task_progress(user_info.username)
Expand Down Expand Up @@ -873,8 +872,6 @@ def rank_check():
# Function to send email using send_grid API.
def send_reset_email(email, username):
token = task_login.get_reset_token(username)
print(token)
print(url_for('reset_token', token=token, _external=True))
email_message = send_grid_email.send_message(
email,
'Password Reset Request For Task App',
Expand Down
Loading