Merge pull request #19 from expsa/migration-expert_font_for_website

migration
This commit is contained in:
ahmed-nouri051 2025-09-28 15:41:26 +02:00 committed by GitHub
commit d8ef8ccdce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
31 changed files with 235 additions and 0 deletions

View File

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import controllers
from . import models

View File

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
{
"name": "Expert Font For Website",
"summary": "Customization Module For Expert Font",
"description": "Expert Font For Website",
"author": "Expert Co. Ltd.",
"website": "http://www.exp-sa.com",
"category": "Tools",
"version": "18.0.1.0.0", # updated for Odoo 18
"depends": ["web"],
"data": [
# "security/ir.model.access.csv",
# "views/resources.xml",
],
"demo": [
# "demo/demo.xml",
],
"assets": {
"web.assets_backend": [
"expert_font_for_website/static/src/css/custom_rtl.css",
"expert_font_for_website/static/src/css/footer.css",
],
},
"license": "LGPL-3",
"installable": True,
"application": False,
}

View File

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import controllers

View File

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
from odoo import http
# class StandardCustomTheme(http.Controller):
# @http.route('/standard_custom_theme/standard_custom_theme/', auth='public')
# def index(self, **kw):
# return "Hello, world"
# @http.route('/standard_custom_theme/standard_custom_theme/objects/', auth='public')
# def list(self, **kw):
# return http.request.render('standard_custom_theme.listing', {
# 'root': '/standard_custom_theme/standard_custom_theme',
# 'objects': http.request.env['standard_custom_theme.standard_custom_theme'].search([]),
# })
# @http.route('/standard_custom_theme/standard_custom_theme/objects/<model("standard_custom_theme.standard_custom_theme"):obj>/', auth='public')
# def object(self, obj, **kw):
# return http.request.render('standard_custom_theme.object', {
# 'object': obj
# })

View File

@ -0,0 +1,30 @@
<odoo>
<data>
<!-- -->
<!-- <record id="object0" model="standard_custom_theme.standard_custom_theme"> -->
<!-- <field name="name">Object 0</field> -->
<!-- <field name="value">0</field> -->
<!-- </record> -->
<!-- -->
<!-- <record id="object1" model="standard_custom_theme.standard_custom_theme"> -->
<!-- <field name="name">Object 1</field> -->
<!-- <field name="value">10</field> -->
<!-- </record> -->
<!-- -->
<!-- <record id="object2" model="standard_custom_theme.standard_custom_theme"> -->
<!-- <field name="name">Object 2</field> -->
<!-- <field name="value">20</field> -->
<!-- </record> -->
<!-- -->
<!-- <record id="object3" model="standard_custom_theme.standard_custom_theme"> -->
<!-- <field name="name">Object 3</field> -->
<!-- <field name="value">30</field> -->
<!-- </record> -->
<!-- -->
<!-- <record id="object4" model="standard_custom_theme.standard_custom_theme"> -->
<!-- <field name="name">Object 4</field> -->
<!-- <field name="value">40</field> -->
<!-- </record> -->
<!-- -->
</data>
</odoo>

View File

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import models

View File

@ -0,0 +1,15 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api
# class standard_custom_theme(models.Model):
# _name = 'standard_custom_theme.standard_custom_theme'
# name = fields.Char()
# value = fields.Integer()
# value2 = fields.Float(compute="_value_pc", store=True)
# description = fields.Text()
#
# @api.depends('value')
# def _value_pc(self):
# self.value2 = float(self.value) / 100

View File

@ -0,0 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_standard_custom_theme_standard_custom_theme,standard_custom_theme.standard_custom_theme,model_standard_custom_theme_standard_custom_theme,,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_standard_custom_theme_standard_custom_theme standard_custom_theme.standard_custom_theme model_standard_custom_theme_standard_custom_theme 1 0 0 0

View File

@ -0,0 +1,35 @@
@font-face {
font-family: "Droid Arabic Kufi";
font-style: normal;
font-weight: 400;
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.woff2) format("woff2"), url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.woff) format("woff"), url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.ttf) format("truetype");
}
@font-face {
font-family: "Droid Arabic Kufi";
font-style: normal;
font-weight: 700;
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.woff2) format("woff2"), url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.woff) format("woff"), url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.ttf) format("truetype");
}
@font-face {
font-family: "Droid Arabic Naskh";
font-style: normal;
font-weight: 400;
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.woff2) format("woff2"), url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.woff) format("woff"), url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.ttf) format("truetype");
}
@font-face {
font-family: "Droid Arabic Naskh";
font-style: normal;
font-weight: 700;
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.woff2) format("woff2"), url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.woff) format("woff"), url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.ttf) format("truetype");
}
.rtl *:not(.fa) {
font-family: "Droid Arabic Kufi", serif !important;
}
.o_rtl *:not(.fa) {
font-family: "Droid Arabic Kufi", serif !important;
}/*# sourceMappingURL=custom_rtl.css.map */

View File

@ -0,0 +1 @@
{"version":3,"sources":["custom_rtl.scss","custom_rtl.css"],"names":[],"mappings":"AAAA;EACI,gCAAA;EACA,kBAAA;EACA,gBAAA;EACA,yEAAA;EACA,0QAAA;ACCJ;ADIA;EACI,gCAAA;EACA,kBAAA;EACA,gBAAA;EACA,sEAAA;EACA,iQAAA;ACFJ;ADOA;EACI,iCAAA;EACA,kBAAA;EACA,gBAAA;EACA,0EAAA;EACA,6QAAA;ACLJ;ADUA;EACI,iCAAA;EACA,kBAAA;EACA,gBAAA;EACA,uEAAA;EACA,oQAAA;ACRJ;ADaI;EACI,kDAAA;ACXR;;ADeI;EACI,kDAAA;ACZR","file":"custom_rtl.css"}

View File

@ -0,0 +1,49 @@
@font-face {
font-family: 'Droid Arabic Kufi';
font-style: normal;
font-weight: 400;
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.woff2) format('woff2'),
url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.woff) format('woff'),
url(/expert_font_for_website/static/src/fonts/DroidKufi-Regular.ttf) format('truetype');
}
@font-face {
font-family: 'Droid Arabic Kufi';
font-style: normal;
font-weight: 700;
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.woff2) format('woff2'),
url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.woff) format('woff'),
url(/expert_font_for_website/static/src/fonts/DroidKufi-Bold.ttf) format('truetype');
}
@font-face {
font-family: 'Droid Arabic Naskh';
font-style: normal;
font-weight: 400;
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.woff2) format('woff2'),
url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.woff) format('woff'),
url(/expert_font_for_website/static/src/fonts/DroidNaskh-Regular.ttf) format('truetype');
}
@font-face {
font-family: 'Droid Arabic Naskh';
font-style: normal;
font-weight: 700;
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.eot);
src: url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.woff2) format('woff2'),
url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.woff) format('woff'),
url(/expert_font_for_website/static/src/fonts/DroidNaskh-Bold.ttf) format('truetype');
}
.rtl{
*:not(.fa) {
font-family: 'Droid Arabic Kufi', serif !important;
}
}
.o_rtl{
*:not(.fa) {
font-family: 'Droid Arabic Kufi', serif !important;
}
}

View File

@ -0,0 +1,3 @@
.o_brand_promotion {
display: none !important;
}/*# sourceMappingURL=footer.css.map */

View File

@ -0,0 +1 @@
{"version":3,"sources":["footer.scss","footer.css"],"names":[],"mappings":"AAAA;EACI,wBAAA;ACCJ","file":"footer.css"}

View File

@ -0,0 +1,3 @@
.o_brand_promotion{
display: none!important;
}

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_frontend_css" inherit_id="web.assets_frontend">
<xpath expr="." position="inside">
<!--Montserrat-->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&amp;display=swap" rel="stylesheet" />
<!--style-->
<link rel="stylesheet" type="text/css" href="/expert_font_for_website/static/src/css/custom_rtl.css"/>
<link rel="stylesheet" type="text/css" href="/expert_font_for_website/static/src/css/footer.css"/>
</xpath>
</template>
<!-- <template id="MYSITE_layout" inherit_id="web.layout" name="MYSITE layout" priority="17">
<xpath expr="//head//link" position="replace">
<link rel="shortcut icon" href="/expert_font_for_website/static/img/favicon.ico" type="image/x-icon"/>
</xpath>
</template> -->
<!-- <template id="custom_layout" inherit_id="website.layout">
<xpath expr="//div[hasclass('o_footer_copyright')]" position="replace">
<div t-if="not no_copyright" class="o_footer_copyright">
<div class="container py-3">
<div class="row">
<div class="col-sm text-center text-sm-left text-muted">
<t t-call="web.debug_icon"/>
<span class="o_footer_copyright_name mr-2">Copyright &amp;copy; Company name</span>
</div>
<div class="col-sm text-center text-sm-right">
</div>
</div>
</div>
</div>
</xpath>
</template> -->
</odoo>