Skip to content

Commit

Permalink
[IMP] web_company_color: Support button and link customizing
Browse files Browse the repository at this point in the history
  • Loading branch information
hbrunn authored and manuelregidor committed Dec 12, 2022
1 parent e0c4ba1 commit 6b2cf46
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 4 deletions.
64 changes: 64 additions & 0 deletions web_company_color/models/res_company.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,47 @@ class ResCompany(models.Model):
}
}
}
a[href],
a[tabindex],
.btn-link,
.o_external_button {
color: %(color_link_text)s !important;
}
a:hover,
.btn-link:hover {
color: %(color_link_text_hover)s !important;
}
.btn-primary:not(.disabled),
.ui-autocomplete .ui-menu-item.ui-state-focus a {
color: %(color_button_text)s !important;
background-color: %(color_button_bg)s !important;
border-color: %(color_button_bg)s !important;
}
.btn-primary:hover:not(.disabled),
.ui-autocomplete .ui-menu-item.ui-state-focus a:hover {
color: %(color_button_text)s !important;
background-color: %(color_button_bg_hover)s !important;
border-color: %(color_button_bg_hover)s !important;
}
.o_searchview .o_searchview_facet .o_searchview_facet_label {
color: %(color_button_text)s !important;
background-color: %(color_button_bg)s !important;
}
.o_form_view .o_horizontal_separator {
color: %(color_link_text)s !important;
}
.o_form_view .oe_button_box .oe_stat_button .o_button_icon,
.o_form_view .oe_button_box .oe_stat_button .o_stat_info .o_stat_value,
.o_form_view .oe_button_box .oe_stat_button > span .o_stat_value {
color: %(color_link_text)s !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status >
.o_arrow_button.btn-primary.disabled {
color: %(color_link_text)s !important;
}
.o_required_modifier.o_input, .o_required_modifier .o_input {
background-color: lighten(%(color_button_bg)s, 10%%) !important;
}
"""

company_colors = fields.Serialized()
Expand All @@ -52,6 +93,16 @@ class ResCompany(models.Model):
"Navbar Background Color Hover", sparse="company_colors"
)
color_navbar_text = fields.Char("Navbar Text Color", sparse="company_colors")
color_button_text = fields.Char("Button Text Color", sparse="company_colors")
color_button_bg = fields.Char("Button Background Color", sparse="company_colors")
color_button_bg_hover = fields.Char(
"Button Background Color Hover", sparse="company_colors"
)
color_link_text = fields.Char("Link Text Color", sparse="company_colors")
color_link_text_hover = fields.Char(
"Link Text Color Hover", sparse="company_colors"
)
scss_modif_timestamp = fields.Char("SCSS Modif. Timestamp")

@api.model_create_multi
def create(self, vals_list):
Expand All @@ -73,6 +124,11 @@ def write(self, values):
"color_navbar_bg",
"color_navbar_bg_hover",
"color_navbar_text",
"color_button_bg",
"color_button_bg_hover",
"color_button_text",
"color_link_text",
"color_link_text_hover",
)
result = super().write(values)
if any([field in values for field in fields_to_check]):
Expand Down Expand Up @@ -118,6 +174,14 @@ def _scss_get_sanitized_values(self):
or "$o-navbar-inverse-link-hover-bg"
),
"color_navbar_text": (values.get("color_navbar_text") or "#FFF"),
"color_button_bg": values.get("color_button_bg") or "$primary",
"color_button_bg_hover": values.get("color_button_bg_hover")
or 'darken(theme-color("primary"), 10%)',
"color_button_text": values.get("color_button_text") or "#FFF",
"color_link_text": values.get("color_link_text")
or 'theme-color("primary")',
"color_link_text_hover": values.get("color_link_text_hover")
or 'darken(theme-color("primary"), 10%)',
}
)
return values
Expand Down
13 changes: 9 additions & 4 deletions web_company_color/view/res_company.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,21 @@
name="company_styles"
groups="base.group_system"
>
<group string="Navbar Colors" name="navbar_colors">
<field name="color_navbar_bg" widget="color" />
<field name="color_navbar_bg_hover" widget="color" />
<field name="color_navbar_text" widget="color" />
<group string="Colors" name="navbar_colors">
<button
class="btn-primary"
name="button_compute_color"
type="object"
string="Compute colors from logo"
/>
<field name="color_navbar_bg" widget="color" />
<field name="color_navbar_bg_hover" widget="color" />
<field name="color_navbar_text" widget="color" />
<field name="color_button_bg" widget="color" />
<field name="color_button_bg_hover" widget="color" />
<field name="color_button_text" widget="color" />
<field name="color_link_text" widget="color" />
<field name="color_link_text_hover" widget="color" />
</group>
<div class="alert alert-info info_icon" role="alert">
<span class="fa fa-info fa-2x" />
Expand Down

0 comments on commit 6b2cf46

Please sign in to comment.