Merge pull request #4472 from expsa/eltayar

new_module_msr_sar_symbol
This commit is contained in:
Mohamed Eltayar 2025-08-31 21:16:54 +03:00 committed by GitHub
commit 1206e551cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 459 additions and 0 deletions

BIN
odex25_base/msr_sar_symbol/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,21 @@
{
"name": "Saudi Riyal (SAR) Currency Symbol | SAR Symbol",
"version": "13.0.1.0.0",
"description": "Saudi Riyal (SAR) Currency New Symbol",
"summary": "SAR New Symbol",
"author": "MACHINSER",
"website": "https://machinser.com",
"license": "OPL-1",
"category": "Tools",
"depends": [
"base",
"web",
],
"data": [
"data/res_currency_data.xml",
"views/assets.xml",
],
"images": ["static/description/banner.gif"],
"auto_install": False,
"application": False,
}

View File

@ -0,0 +1,21 @@
<odoo>
<function name="write" model="ir.model.data">
<function name="search" model="ir.model.data">
<value
eval="[('module', '=', 'base'), ('name', '=', 'SAR')]" />
</function>
<value eval="{'noupdate': False}" />
</function>
<record id="base.SAR" model="res.currency">
<field name="symbol"></field>
<field name="position">before</field>
</record>
<function name="write" model="ir.model.data">
<function name="search" model="ir.model.data">
<value
eval="[('module', '=', 'base'), ('name', '=', 'SAR')]" />
</function>
<value eval="{'noupdate': True}" />
</function>
</odoo>

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

View File

@ -0,0 +1,224 @@
<div style="font-family:'Arial';">
<!-- Start - head area with logo & compatibility -->
<div style="font-family:'Arial';padding:10px;background-color: #eee;border-radius: 20px;">
<div class="row align-items-center" style='align-items: center;'>
<div class="col-lg-6 col-md-6 col-sm-12" style='text-align: center;'>
<img src='images/machinser-logo-odoo.png' alt='logo' style="width: 60%;">
</div>
<div class="col-lg-6 col-md-6 col-sm-12" style='text-align: center;'>
<span class='btn btn-primary' style="position: relative; overflow: hidden; border: 1px solid transparent; padding: 6px 12px; font-size: 16px; line-height: 1.5; border-radius: 6px; background-color: #ec5424;border-color: #ec5424;">Community</span>
<span class='btn btn-primary' style="position: relative; overflow: hidden; border: 1px solid transparent; padding: 6px 12px; font-size: 16px; line-height: 1.5; border-radius: 6px; background-color: #ec5424;border-color: #ec5424;">Enterprise</span>
<span class='btn btn-primary' style="position: relative; overflow: hidden; border: 1px solid transparent; padding: 6px 12px; font-size: 16px; line-height: 1.5; border-radius: 6px; background-color: #ec5424;border-color: #ec5424;">Odoo.sh</span>
</div>
</div>
</div>
<div style="margin:40px 0"></div>
<!-- End - head area with logo & compatibility -->
<!-- Start - Page title with summary -->
<div class="container">
<div class="text-center">
<h4 style="font-size: 28px;font-weight: 600;color: #1e266d;margin-bottom: 10px;">Saudi Riyal (SAR) Currency Symbol</h4><hr/>
<p style="font-family:'Arial';" style="color: #616060;font-size: 18px;margin: 0;letter-spacing: 1px;margin-top: 12px;">
This module will help you to add New Saudi Riyal Currency Symbol.
</p>
</div>
</div>
<div style="padding:10px 0"></div>
<!-- End - Page title with summary -->
<!-- Start - Tab Pages for Features, Screenshots & Support -->
<section id="tr_tab" class="tr_tab" style="padding-top: 50px;background-color: transparent;color: #1e266d;">
<div class="">
<ul class="nav nav-tabs justify-content-center bg-transparent" id="nav-tab" role="tablist">
<li class="nav-item" role="presentation">
<a class="nav-link text-dark active" id="pills-home-tab-a" data-bs-toggle="pill" data-bs-target="#Features" type="button" role="tab" aria-controls="pills-home" aria-selected="false">Features</a>
</li>
<li class="nav-item text-black" role="presentation">
<a class="nav-link text-dark" id="pills-profile-tab-b" data-bs-toggle="pill" data-bs-target="#Screenshots" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">Screenshots</a>
</li>
<li class="nav-item text-black position-relative" role="presentation">
<a class="nav-link text-dark " id="pills-contact-tab-c" data-bs-toggle="pill" data-bs-target="#Support" type="button" role="tab" aria-controls="pills-contact" aria-selected="true">Support</a>
</li>
</ul>
<div class="tab-content" style="padding-top: 30px;background-color: transparent;padding-bottom: 30px;">
<!-- tab 1 -->
<div id="Features" class="tab-pane active tr_features">
<div class="container">
<h4 style="font-size: 16px;margin: 10px 0;color: #1e266d;text-decoration: none;font-weight: 600;letter-spacing: 1px;display: block;"><span class="fa fa-check" style="color: #1e266d;font-weight: 600;font-size: 18px;padding-right: 10px;"></span><span style="color: #1e266d;">Just Install the module & use it</span>
</h4>
<h4 style="font-size: 16px;margin: 10px 0;color: #1e266d;text-decoration: none;font-weight: 600;letter-spacing: 1px;display: block;"><span class="fa fa-check" style="color: #1e266d;font-weight: 600;font-size: 18px;padding-right: 10px;"></span><span style="color: #1e266d;">No Additional Configuration Required</span>
</h4>
</div>
</div>
<!-- tab 2 -->
<div id="Screenshots" class="tab-pane fade container tr_Screenshots">
<div class="tr_content shadow rounded bg-white" style="padding: 20px;margin-bottom: 15px;">
<div class="text-center">
<p style="color: #ec5424;font-size: 20px;max-width: 75%;margin: auto;margin-bottom: 20px;letter-spacing: .5px;">
Install the module & Go to Accounting > Configuration > Currencies, open Saudi Riyal
</p>
<div class="col-md-12">
<img class="img-responsive" src="screenshots/s1.png" style="width: 100%;" />
</div>
<br/><br/><br/><hr/>
<p style="color: #ec5424;font-size: 20px;max-width: 75%;margin: auto;margin-bottom: 20px;letter-spacing: .5px;">
Create & View the Invoice, new currency symbol is reflected everywhere
</p>
<div class="col-md-12">
<img class="img-responsive" src="screenshots/s3.png" style="width: 100%;" />
</div>
<br/><br/><br/><hr/>
<p style="color: #ec5424;font-size: 20px;max-width: 75%;margin: auto;margin-bottom: 20px;letter-spacing: .5px;">
Instead of showing SR, new symbol is added
</p>
<div class="col-md-12">
<img class="img-responsive" src="screenshots/s2.png" style="width: 100%;" />
</div>
<br/><br/><br/><hr/>
</div>
</div>
</div>
<!-- tab 3 -->
<div id="Support" class="tab-pane fade container tr_support">
<div class="row">
<div class="col-md">
<div class="tr_content shadow rounded bg-white" style="padding: 20px;margin-bottom: 0px;">
<h4 class="mb-0"><a href="mailto:support@machinser.com" style="text-decoration: none;color: #212121;font-family: 'Arial';font-size: 18px;font-weight: 600;letter-spacing: 1px;"><span class="fa fa-envelope" style="color: #ec5424;padding-right: 10px;font-size: 20px;"></span> Please email us for support at <b style="color: #1e266d"><i>support@machinser.com</i></b></a></h4>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<div style="margin-top:50px 0"></div>
<!-- End - Tab Pages for Features, Screenshots & Support -->
<!-- Start - Service section, globally applicable -->
<div class="container">
<div class="tr_center text-center mb-5">
<hr/>
<h4 style="font-size: 28px;font-weight: 600;color: #1e266d;margin-bottom: 10px;margin-top: 100px;">Our Services</h4>
<hr/>
</div>
<div class="row">
<div class="col-md-2 text-center">
<div class="box p-4 shadow rounded mb-2" style="background-color: #eee;border: 1px solid #ec5424;border-radius: 0.25rem !important;">
<a href="#" target="_blank" style="text-decoration: none;">
<div class="icon_img mb-2">
<img src="services/implementation.png" alt="info" style="height: 55px;"></img>
</div>
<div class="content">
<p class="mb-0" style="font-size: 18px;color: #ec5424;font-weight: bold;">Odoo Implementation</p>
</div>
</a>
</div>
</div>
<div class="col-md-2 text-center">
<div class="box p-4 shadow rounded mb-2" style="background-color: #eee;border: 1px solid #ec5424;border-radius: 0.25rem !important;">
<a href="#" target="_blank" style="text-decoration: none;">
<div class="icon_img mb-2">
<img src="services/customization.png" alt="setting" style="height: 55px;"></img>
</div>
<div class="content">
<p class="mb-0" style="font-size: 18px;color: #ec5424;font-weight: bold;">Odoo Customization</p>
</div>
</a>
</div>
</div>
<div class="col-md-2 text-center">
<div class="box p-4 shadow rounded mb-2" style="background-color: #eee;border: 1px solid #ec5424;border-radius: 0.25rem !important;">
<a href="#" target="_blank" style="text-decoration: none;">
<div class="icon_img mb-2">
<img src="services/consultation.png" alt="user" style="height: 55px;"></img>
</div>
<div class="content">
<p class="mb-0" style="font-size: 18px;color: #ec5424;font-weight: bold;">Odoo Consultation</p>
</div>
</a>
</div>
</div>
<div class="col-md-2 text-center">
<div class="box p-4 shadow rounded mb-2" style="background-color: #eee;border: 1px solid #ec5424;border-radius: 0.25rem !important;">
<a href="#" target="_blank" style="text-decoration: none;">
<div class="icon_img mb-2">
<img src="services/configuration.png" alt="mobileapp" style="height: 55px;"></img>
</div>
<div class="content">
<p class="mb-0" style="font-size: 18px;color: #ec5424;font-weight: bold;">Odoo Configuration</p>
</div>
</a>
</div>
</div>
<div class="col-md-2 text-center">
<div class="box p-4 shadow rounded mb-2" style="background-color: #eee;border: 1px solid #ec5424;border-radius: 0.25rem !important;">
<a href="#" target="_blank" style="text-decoration: none;">
<div class="icon_img mb-2">
<img src="services/training.png" alt="mobileapp" style="height: 55px;"></img>
</div>
<div class="content">
<p class="mb-0" style="font-size: 18px;color: #ec5424;font-weight: bold;">Odoo<br/>Training</p>
</div>
</a>
</div>
</div>
<div class="col-md-2 text-center">
<div class="box p-4 shadow rounded mb-2" style="background-color: #eee;border: 1px solid #ec5424;border-radius: 0.25rem !important;">
<a href="#" target="_blank" style="text-decoration: none;">
<div class="icon_img mb-2">
<img src="services/migration.png" alt="mobileapp" style="height: 55px;"></img>
</div>
<div class="content">
<p class="mb-0" style="font-size: 18px;color: #ec5424;font-weight: bold;">Odoo<br/>Migration</p>
</div>
</a>
</div>
</div>
</div>
</div>
<div style="padding:10px 0"></div>
<!-- End - Service section, globally applicable -->
<!-- Start - Contact details, globally applicable -->
<div class="container">
<div class="tr_center text-center row">
<div class="col-lg-2 col-md-3 col-sm-12 col-12"></div>
<div class="col-lg-4 col-md-3 col-sm-12 col-12">
<a class="shadow rounded py-3 px-4 d-flex justify-content-center align-items-center mb-2" style="border-width: 1px;border-style: solid;border-color: #25d366;color: #fff;position: relative; overflow: hidden;text-decoration: none;border-radius: 0px;font-size: 20px;font-weight: normal;width: 100%;background-color: #25d366;border-radius: 40px;" href="#" target="_blank">
<span class="fa fa-whatsapp me-3" style="font-size: 30px;color: #fff;"></span>
<span class="align-middle">Whatsapp | +966 56 927 1692</span></a>
</div>
<div class="col-lg-4 col-md-3 col-sm-12 col-12">
<a class="shadow rounded py-3 px-4 d-flex justify-content-center align-items-center mb-2" style="border-width: 1px;border-style: solid;border-color: #ce493b;color: #fff;position: relative; overflow: hidden;text-decoration: none;border-radius: 0px;font-size: 20px;font-weight: normal;width: 100%;background-color: #ce493b;border-radius: 40px;" href="mailto:support@machinser.com" target="_blank">
<span class="fa fa-envelope me-3" style="font-size: 30px;color: #fff;"></span>
<span class="align-middle">Email | support@machinser.com</span></a>
</div>
<div class="col-lg-2 col-md-3 col-sm-12 col-12"></div>
</div>
</div>
<!-- End - Contact details, globally applicable -->
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

View File

@ -0,0 +1,121 @@
/* Variables */
:root {
--primary-color: #2f704a;
--riyals-color: #2f704a;
--font-size-base: 16px;
--line-height-base: 1.5;
--spacing-unit: 8px;
--container-padding: calc(var(--spacing-unit) * 2);
}
/* Font Faces */
@font-face {
font-family: 'saudi_riyal';
src: url('../fonts/saudi_riyal.eot?bdfc4l');
src: url('../fonts/saudi_riyal.eot?bdfc4l#iefix') format('embedded-opentype'),
url('../fonts/saudi_riyal.ttf?bdfc4l') format('truetype'),
url('../fonts/saudi_riyal.woff?bdfc4l') format('woff'),
url('../fonts/saudi_riyal.svg?bdfc4l#saudi_riyal') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
@font-face {
font-family: 'JannaLTRegular';
src: url('../fonts/ArbFONTS-ArbFONTS-Janna-LT-Regular.ttf') format('truetype');
}
@font-face {
font-family: 'JannaLTBold';
src: url('../fonts/ArbFONTS-ArbFONTS-Janna-LT-Bold.ttf') format('truetype');
}
/* Base Styles */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
/* Gradient background for the body */
body {
background: linear-gradient(135deg, var(--primary-light), var(--primary-color));
min-height: 100vh;
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
/* Icon styling */
[class^="icon-"], [class*=" icon-"] {
font-family: 'saudi_riyal' !important;
font-style: normal;
font-weight: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-saudi_riyal:before {
content: "\e900";
color: var(--riyals-color);
}
/* Typography Classes */
.text-primary {
color: var(--primary-color);
}
.text-bold {
font-family: 'JannaLTBold', 'saudi_riyal', sans-serif !important;
}
/* Layout Components */
.page, .header, .footer {
font-family: 'JannaLTRegular', 'saudi_riyal', sans-serif !important;
padding: var(--container-padding);
}
/* Global Font Exception */
*:not(.fa):not(.oi) {
font-family: 'JannaLTRegular', 'saudi_riyal', sans-serif !important;
}
/* Responsive Typography */
@media screen and (max-width: 768px) {
:root {
--font-size-base: 14px;
--container-padding: var(--spacing-unit);
}
}
/* Print Styles */
@media print {
.page {
margin: 0;
padding: 0;
}
.header, .footer {
position: fixed;
width: 100%;
}
.header {
top: 0;
}
.footer {
bottom: 0;
}
}
/* Animations */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.fade-in {
animation: fadeIn 0.3s ease-in-out;
}

View File

@ -0,0 +1,31 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
<json>
<![CDATA[
{
"fontFamily": "saudi_riyal",
"majorVersion": 1,
"minorVersion": 0,
"description": "Font generated by IcoMoon.",
"copyright": "© 2025 Emran Alhaddad. All rights reserved.",
"designer": "Emran Alhaddad",
"version": "Version 1.0",
"fontId": "saudi_riyal",
"psName": "saudi_riyal",
"subFamily": "Regular",
"fullName": "saudi_riyal"
}
]]>
</json>
</metadata>
<defs>
<font id="saudi_riyal" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe900;" glyph-name="saudi_riyal" data-tags="saudi_riyal" horiz-adv-x="1165" d="M679.071 123.096v0c-13.595-29.359-23.138-63.434-26.827-99.246l-0.115-1.38 297.916 63.351c13.592 29.351 23.138 63.417 26.838 99.218l0.116 1.384zM950.044 275.536c13.591 29.351 23.136 63.417 26.838 99.218l0.116 1.384-232.107-49.345v94.868l205.153 43.588c13.593 29.356 23.135 63.427 26.827 99.234l0.115 1.38-232.073-49.311v341.197c-36.335-20.663-67.083-46.653-92.36-77.32l-0.448-0.56v-283.056l-92.809-19.718v427.065c-36.338-20.662-67.087-46.656-92.359-77.331l-0.449-0.562v-368.902l-207.644-44.123c-13.599-29.361-23.149-63.439-26.85-99.253l-0.116-1.383 234.61 49.892v-119.467l-251.449-53.476c-13.591-29.355-23.136-63.425-26.838-99.229l-0.116-1.385 263.191 55.933c21.644 4.646 39.777 17.159 51.644 34.332l0.182 0.279 48.265 71.555c4.987 7.253 7.964 16.225 7.964 25.892 0 0.017 0 0.035 0 0.052v-0.003 105.244l92.809 19.718v-189.747l297.904 63.351z" />
<glyph unicode="" glyph-name="saudi_riyal" data-tags="saudi_riyal" horiz-adv-x="1165" d="M679.071 123.096v0c-13.595-29.359-23.138-63.434-26.827-99.246l-0.115-1.38 297.916 63.351c13.592 29.351 23.138 63.417 26.838 99.218l0.116 1.384zM950.044 275.536c13.591 29.351 23.136 63.417 26.838 99.218l0.116 1.384-232.107-49.345v94.868l205.153 43.588c13.593 29.356 23.135 63.427 26.827 99.234l0.115 1.38-232.073-49.311v341.197c-36.335-20.663-67.083-46.653-92.36-77.32l-0.448-0.56v-283.056l-92.809-19.718v427.065c-36.338-20.662-67.087-46.656-92.359-77.331l-0.449-0.562v-368.902l-207.644-44.123c-13.599-29.361-23.149-63.439-26.85-99.253l-0.116-1.383 234.61 49.892v-119.467l-251.449-53.476c-13.591-29.355-23.136-63.425-26.838-99.229l-0.116-1.385 263.191 55.933c21.644 4.646 39.777 17.159 51.644 34.332l0.182 0.279 48.265 71.555c4.987 7.253 7.964 16.225 7.964 25.892 0 0.017 0 0.035 0 0.052v-0.003 105.244l92.809 19.718v-189.747l297.904 63.351z" />
<glyph unicode="lighter1" glyph-name="saudi_riyal" data-tags="saudi_riyal" horiz-adv-x="1165" d="M679.071 123.096v0c-13.595-29.359-23.138-63.434-26.827-99.246l-0.115-1.38 297.916 63.351c13.592 29.351 23.138 63.417 26.838 99.218l0.116 1.384zM950.044 275.536c13.591 29.351 23.136 63.417 26.838 99.218l0.116 1.384-232.107-49.345v94.868l205.153 43.588c13.593 29.356 23.135 63.427 26.827 99.234l0.115 1.38-232.073-49.311v341.197c-36.335-20.663-67.083-46.653-92.36-77.32l-0.448-0.56v-283.056l-92.809-19.718v427.065c-36.338-20.662-67.087-46.656-92.359-77.331l-0.449-0.562v-368.902l-207.644-44.123c-13.599-29.361-23.149-63.439-26.85-99.253l-0.116-1.383 234.61 49.892v-119.467l-251.449-53.476c-13.591-29.355-23.136-63.425-26.838-99.229l-0.116-1.385 263.191 55.933c21.644 4.646 39.777 17.159 51.644 34.332l0.182 0.279 48.265 71.555c4.987 7.253 7.964 16.225 7.964 25.892 0 0.017 0 0.035 0 0.052v-0.003 105.244l92.809 19.718v-189.747l297.904 63.351z" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="assets_backend" name="msr_assets_backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/css"
href="/msr_sar_symbol/static/src/css/style.css" />
</xpath>
</template>
<template id="assets_frontend" name="msr_assets_frontend" inherit_id="web.assets_frontend">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/css"
href="/msr_sar_symbol/static/src/css/style.css" />
</xpath>
</template>
<template id="assets_common" name="msr_assets_common" inherit_id="web.assets_common">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/css"
href="/msr_sar_symbol/static/src/css/style.css" />
</xpath>
</template>
<template id="report_assets_common" name="msr_report_assets_common"
inherit_id="web.report_assets_common">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/css"
href="/msr_sar_symbol/static/src/css/style.css" />
</xpath>
</template>
<template id="report_assets_pdf" name="msr_report_assets_pdf"
inherit_id="web.report_assets_pdf">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/css"
href="/msr_sar_symbol/static/src/css/style.css" />
</xpath>
</template>
</data>
</odoo>