mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-13 00:07:22 +00:00
Widget Optimierungen #343
This commit is contained in:
parent
ef3e3772e8
commit
04e5e2d793
@ -29,6 +29,10 @@ class FindEventDateForm(FlaskForm):
|
||||
choices=distance_choices,
|
||||
)
|
||||
event_list_id = HiddenField(validators=[Optional()])
|
||||
s_ft = HiddenField(validators=[Optional()])
|
||||
s_bg = HiddenField(validators=[Optional()])
|
||||
s_pr = HiddenField(validators=[Optional()])
|
||||
s_li = HiddenField(validators=[Optional()])
|
||||
|
||||
submit = SubmitField(lazy_gettext("Find"))
|
||||
|
||||
|
||||
@ -33,9 +33,16 @@
|
||||
style += "min-width:100%;max-width:100%;";
|
||||
}
|
||||
|
||||
var src = baseUrl + "/" + shortName + "/widget/eventdates?";
|
||||
src = addParamToQuery(element, src, 'event-list', 'event_list_id');
|
||||
src = addParamToQuery(element, src, 'font', 's_ft');
|
||||
src = addParamToQuery(element, src, 'background', 's_bg');
|
||||
src = addParamToQuery(element, src, 'primary', 's_pr');
|
||||
src = addParamToQuery(element, src, 'link', 's_li');
|
||||
|
||||
var iFrame = d.createElement("iframe");
|
||||
iFrame.class = "oveda-widget-iframe";
|
||||
iFrame.src = baseUrl + "/" + shortName + "/widget/eventdates";
|
||||
iFrame.src = src;
|
||||
iFrame.style = style;
|
||||
iFrame.frameborder = "0";
|
||||
iFrame.allowtransparency = "true";
|
||||
@ -48,6 +55,17 @@
|
||||
iFrameElements.push(element);
|
||||
}
|
||||
|
||||
function addParamToQuery(element, url, attr, param)
|
||||
{
|
||||
var value = getWidgetData(element, attr);
|
||||
|
||||
if (value != null) {
|
||||
url += param + "=" + encodeURIComponent(value) + "&";
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
function getWidgetData(element, name, defaultValue = null) {
|
||||
var attribute = 'data-widget-' + name;
|
||||
|
||||
|
||||
@ -52,7 +52,8 @@ def widget_event_dates(au_short_name):
|
||||
if form.validate():
|
||||
form.populate_obj(params)
|
||||
|
||||
params.admin_unit_id = admin_unit.id
|
||||
if not params.event_list_id:
|
||||
params.admin_unit_id = admin_unit.id
|
||||
dates = get_event_dates_query(params).paginate()
|
||||
|
||||
return render_template(
|
||||
@ -188,16 +189,24 @@ def event_suggestion_create_for_admin_unit(au_short_name):
|
||||
def get_styles(admin_unit):
|
||||
styles = dict()
|
||||
|
||||
if admin_unit.widget_font:
|
||||
if request.args.get("s_ft", None):
|
||||
styles["font"] = request.args["s_ft"]
|
||||
elif admin_unit.widget_font:
|
||||
styles["font"] = admin_unit.widget_font
|
||||
|
||||
if admin_unit.widget_background_color:
|
||||
if request.args.get("s_bg", None):
|
||||
styles["background"] = request.args["s_bg"]
|
||||
elif admin_unit.widget_background_color:
|
||||
styles["background"] = admin_unit.widget_background_color.hex
|
||||
|
||||
if admin_unit.widget_primary_color:
|
||||
if request.args.get("s_pr", None):
|
||||
styles["primary"] = request.args["s_pr"]
|
||||
elif admin_unit.widget_primary_color:
|
||||
styles["primary"] = admin_unit.widget_primary_color.hex
|
||||
|
||||
if admin_unit.widget_link_color:
|
||||
if request.args.get("s_li", None):
|
||||
styles["link"] = request.args["s_li"]
|
||||
elif admin_unit.widget_link_color:
|
||||
styles["link"] = admin_unit.widget_link_color.hex
|
||||
|
||||
return styles
|
||||
|
||||
@ -43,6 +43,16 @@ def test_event_dates(client, seeder, utils):
|
||||
)
|
||||
utils.get_ok(url)
|
||||
|
||||
url = utils.get_url(
|
||||
"widget_event_dates",
|
||||
au_short_name=au_short_name,
|
||||
s_ft="Verdana",
|
||||
s_bg="#eceef0",
|
||||
s_pr="#b09641",
|
||||
s_li="#7b2424",
|
||||
)
|
||||
utils.get_ok(url)
|
||||
|
||||
# Unverified
|
||||
au_short_name = "unverifiedcrew"
|
||||
_, _, unverified_id = seeder.create_event_unverified()
|
||||
@ -88,10 +98,10 @@ def test_event_date(client, seeder, utils, app, db):
|
||||
from project.models import AdminUnit
|
||||
|
||||
admin_unit = AdminUnit.query.get(admin_unit_id)
|
||||
admin_unit.widget_font = "Arial"
|
||||
admin_unit.widget_background_color = Color("#F5F5F5")
|
||||
admin_unit.widget_primary_color = Color("#000000")
|
||||
admin_unit.widget_link_color = Color("#FF0000")
|
||||
admin_unit.widget_font = "Verdana"
|
||||
admin_unit.widget_background_color = Color("#eceef0")
|
||||
admin_unit.widget_primary_color = Color("#b09641")
|
||||
admin_unit.widget_link_color = Color("#7b2424")
|
||||
db.session.commit()
|
||||
|
||||
url = utils.get_url("widget_event_date", au_short_name=au_short_name, id=1)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user