Skip to content

Commit

Permalink
[IMP] pos_partner_firstname: isort, black, prettier.
Browse files Browse the repository at this point in the history
  • Loading branch information
dsolanki-initos authored and robyf70 committed Apr 11, 2022
1 parent e4af958 commit b339886
Show file tree
Hide file tree
Showing 8 changed files with 113 additions and 76 deletions.
8 changes: 3 additions & 5 deletions pos_partner_firstname/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@
"point_of_sale",
"partner_firstname",
],
'qweb': [
'static/src/xml/pos.xml'
],
'data': [
'views/assets.xml',
"qweb": ["static/src/xml/pos.xml"],
"data": [
"views/assets.xml",
],
}
6 changes: 3 additions & 3 deletions pos_partner_firstname/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@


class ResPartner(models.Model):
_inherit = 'res.partner'
_inherit = "res.partner"

@api.model
def create_from_ui(self, partner):
if 'is_company' in partner:
partner['is_company'] = partner['is_company'] == 'true'
if "is_company" in partner:
partner["is_company"] = partner["is_company"] == "true"
return super(ResPartner, self).create_from_ui(partner)

@api.model
Expand Down
7 changes: 3 additions & 4 deletions pos_partner_firstname/static/src/js/models.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
odoo.define('pos_partner_firstname.models', function (require) {
odoo.define("pos_partner_firstname.models", function (require) {
"use strict";

var models = require('point_of_sale.models');

models.load_fields("res.partner", ["is_company", "firstname", "lastname"]);
var models = require("point_of_sale.models");

models.load_fields("res.partner", ["is_company", "firstname", "lastname"]);
});
96 changes: 48 additions & 48 deletions pos_partner_firstname/static/src/js/screens.js
Original file line number Diff line number Diff line change
@@ -1,79 +1,79 @@
odoo.define('pos_partner_firstname.screens', function (require) {
odoo.define("pos_partner_firstname.screens", function (require) {
"use strict";

var Screens = require('point_of_sale.screens');
var Screens = require("point_of_sale.screens");

Screens.ClientListScreenWidget.include({
partner_names_order: "last_first",

partner_names_order: 'last_first',

init: function(parent, options){
init: function (parent, options) {
var self = this;
this._super(parent, options);
this._rpc({
model: 'res.partner',
method: 'get_names_order',
model: "res.partner",
method: "get_names_order",
args: [],
}).then(function(partner_names_order) {
}).then(function (partner_names_order) {
if (partner_names_order != false) {
self.partner_names_order = partner_names_order;
}
});
},

_update_client_name: function(checked){
_update_client_name: function (checked) {
if (!checked) {
var lastname = $('.lastname').val() || '';
var firstname = $('.firstname').val() || '';
var lastname = $(".lastname").val() || "";
var firstname = $(".firstname").val() || "";
var name = null;
if (this.partner_names_order === 'last_first_comma') {
name = lastname + ', ' + firstname;
}
else if (this.partner_names_order === 'first_last') {
name = firstname + ' ' + lastname;
}
else
{
name = lastname + ' ' + firstname;
if (this.partner_names_order === "last_first_comma") {
name = lastname + ", " + firstname;
} else if (this.partner_names_order === "first_last") {
name = firstname + " " + lastname;
} else {
name = lastname + " " + firstname;
}
$('.client-name').val(name);
$(".client-name").val(name);
}
},

display_client_details: function(visibility,partner,clickpos){
display_client_details: function (visibility, partner, clickpos) {
var self = this;
this._super.apply(self, arguments);
if (visibility === 'edit') {
if (!$('.is_company').is(':checked')) {
$('.client-name').attr('readonly', true);
if (visibility === "edit") {
if (!$(".is_company").is(":checked")) {
$(".client-name").attr("readonly", true);
}
this.$('.person').off('keyup').on('keyup', function(event) {
var checked = $('.is_company').is(':checked');
$('.client-name').attr('readonly', !checked);
if (!checked) {
self._update_client_name(checked);
}
});
this.$('.checkbox').off('change').on('change', function(event) {
this.value = this.checked;
if (this.name === 'is_company') {
var checked = this.checked;
$('.is_person').toArray().forEach(function(el) {
$(el).css('display', !checked ? 'block' : 'none');
});
var clientname = $('.client-name');
clientname.attr('readonly', !checked);
this.$(".person")
.off("keyup")
.on("keyup", function (event) {
var checked = $(".is_company").is(":checked");
$(".client-name").attr("readonly", !checked);
if (!checked) {
self._update_client_name(checked);
}
else
{
$('.lastname').val(clientname.val());
$('.firstname').val('');
});
this.$(".checkbox")
.off("change")
.on("change", function (event) {
this.value = this.checked;
if (this.name === "is_company") {
var checked = this.checked;
$(".is_person")
.toArray()
.forEach(function (el) {
$(el).css("display", !checked ? "block" : "none");
});
var clientname = $(".client-name");
clientname.attr("readonly", !checked);
if (!checked) {
self._update_client_name(checked);
} else {
$(".lastname").val(clientname.val());
$(".firstname").val("");
}
}
};
});
});
}
},
});
});
});
53 changes: 40 additions & 13 deletions pos_partner_firstname/static/src/xml/pos.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8" ?>
<templates id="template" xml:space="preserve">

<t t-extend="ClientDetails">
<t t-jquery=".client-name" t-operation="after">
<div class="client-details-box clearfix">
<div class="client-detail">
<span class='label'>Company</span>
<input type='checkbox' class='detail is_company' name='is_company'
t-att-checked="partner.is_company ? 'checked' : null" disabled="disabled"
t-att-value="partner.is_company"/>
<input
type='checkbox'
class='detail is_company'
name='is_company'
t-att-checked="partner.is_company ? 'checked' : null"
disabled="disabled"
t-att-value="partner.is_company"
/>
</div>
</div>
</t>
Expand All @@ -17,13 +22,17 @@
<div t-attf-style="display: #{!partner.is_company ? 'block': 'none'};">
<div class="client-detail">
<span class='label'>Name</span>
<span class='detail firstname'><t t-esc='partner.firstname or ""'/></span>
<span class='detail firstname'><t
t-esc='partner.firstname or ""'
/></span>
</div>
</div>
<div t-attf-style="display: #{!partner.is_company ? 'block': 'none'};">
<div class="client-detail">
<span class='label'>Surname</span>
<span class='detail lastname'><t t-esc='partner.lastname or ""'/></span>
<span class='detail lastname'><t
t-esc='partner.lastname or ""'
/></span>
</div>
</div>
</t>
Expand All @@ -35,23 +44,41 @@
<div class="client-details-box clearfix">
<div class="client-detail">
<span class='label'>Company</span>
<input type='checkbox' class='detail o_checkbox checkbox is_company'
name='is_company' t-att-checked="partner.is_company ? 'checked' : null"
t-att-value="partner.is_company"/>
<input
type='checkbox'
class='detail o_checkbox checkbox is_company'
name='is_company'
t-att-checked="partner.is_company ? 'checked' : null"
t-att-value="partner.is_company"
/>
</div>
</div>
</t>
<t t-jquery=".client-details-left" t-operation="prepend">
<div class="is_person" t-attf-style="display: #{!partner.is_company ? 'block': 'none'};">
<div
class="is_person"
t-attf-style="display: #{!partner.is_company ? 'block': 'none'};"
>
<div class='client-detail'>
<span class='label'>Name</span>
<input class='detail firstname person' name="firstname" t-att-value='partner.firstname or ""'/>
<input
class='detail firstname person'
name="firstname"
t-att-value='partner.firstname or ""'
/>
</div>
</div>
<div class="is_person" t-attf-style="display: #{!partner.is_company ? 'block': 'none'};">
<div
class="is_person"
t-attf-style="display: #{!partner.is_company ? 'block': 'none'};"
>
<div class='client-detail'>
<span class='label'>Surname</span>
<input class='detail lastname person' name="lastname" t-att-value='partner.lastname or ""'/>
<input
class='detail lastname person'
name="lastname"
t-att-value='partner.lastname or ""'
/>
</div>
</div>
</t>
Expand Down
12 changes: 9 additions & 3 deletions pos_partner_firstname/views/assets.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<odoo>

<template id="assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/pos_partner_firstname/static/src/js/models.js"/>
<script type="text/javascript" src="/pos_partner_firstname/static/src/js/screens.js"/>
<script
type="text/javascript"
src="/pos_partner_firstname/static/src/js/models.js"
/>
<script
type="text/javascript"
src="/pos_partner_firstname/static/src/js/screens.js"
/>
</xpath>
</template>

Expand Down
6 changes: 6 additions & 0 deletions setup/pos_partner_firstname/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

0 comments on commit b339886

Please sign in to comment.