diff --git a/gallery/api.py b/gallery/api.py index ee29111..84707b1 100644 --- a/gallery/api.py +++ b/gallery/api.py @@ -225,19 +225,24 @@ def modify_group(): """ Changes the images in a group """ - group_id = request.form['group_id'] - image_id = request.form['images'] - action = request.form['action'] + group_id = request.form['group'] + image_id = request.form['image'] - if action == 'add': - # Check if image is already in group + group = db_session.query(db.Groups).filter_by(id=group_id).first() + + if group is None: + abort(404) + elif group.author_id != g.user.id: + abort(403) + + if request.form['action'] == 'add': if db_session.query(db.GroupJunction).filter_by(group_id=group_id, post_id=image_id).first() is None: db_session.add(db.GroupJunction(group_id=group_id, post_id=image_id, date_added=dt.utcnow())) - db_session.commit() - elif action == 'remove': + elif request.form['action'] == 'remove': db_session.query(db.GroupJunction).filter_by(group_id=group_id, post_id=image_id).delete() - db_session.commit() + db_session.commit() + return ':3' diff --git a/gallery/static/js/main.js b/gallery/static/js/main.js index d601b6c..1f1cb62 100644 --- a/gallery/static/js/main.js +++ b/gallery/static/js/main.js @@ -4,10 +4,19 @@ function imgFade(obj, time = 250) { } // https://stackoverflow.com/questions/3942878/how-to-decide-font-color-in-white-or-black-depending-on-background-color function colourContrast(bgColor, lightColor, darkColor, threshold = 0.179) { - var color = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor; - var r = parseInt(color.substring(0, 2), 16); // hexToR - var g = parseInt(color.substring(2, 4), 16); // hexToG - var b = parseInt(color.substring(4, 6), 16); // hexToB + // if color is in hex format then convert to rgb else parese rgb + if (bgColor.charAt(0) === '#') { + var color = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor; + var r = parseInt(color.substring(0, 2), 16); // hexToR + var g = parseInt(color.substring(2, 4), 16); // hexToG + var b = parseInt(color.substring(4, 6), 16); // hexToB + } else { + var color = bgColor.replace('rgb(', '').replace(')', '').split(','); + var r = color[0]; + var g = color[1]; + var b = color[2]; + } + var uicolors = [r / 255, g / 255, b / 255]; var c = uicolors.map((col) => { if (col <= 0.03928) { @@ -285,8 +294,9 @@ window.onload = function () { const lightColor = '#E8E3E3'; let contrastCheck = document.querySelectorAll('#contrast-check'); for (let i = 0; i < contrastCheck.length; i++) { + console.log(contrastCheck[i].getAttribute('data-color')); bgColor = contrastCheck[i].getAttribute('data-color'); - contrastCheck[i].style.color = colourContrast(bgColor, lightColor, darkColor, 0.9); + contrastCheck[i].style.color = colourContrast(bgColor, lightColor, darkColor); } let times = document.querySelectorAll('.time'); diff --git a/gallery/templates/groups/group.html b/gallery/templates/groups/group.html index 24b2a75..c972a3e 100644 --- a/gallery/templates/groups/group.html +++ b/gallery/templates/groups/group.html @@ -14,20 +14,25 @@ class="banner-filter" style="background: linear-gradient(to right, rgb({{ images.0.image_colours.0.0 }}, {{ images.0.image_colours.0.1 }}, {{ images.0.image_colours.0.2 }}), transparent)" > +
{% else %}