Conversation
…er 3 - Server framework 101
ltinel
left a comment
There was a problem hiding this comment.
Good job :) A few "FYIs", but nothing to say really
Chapter 4 - Security
73a4aef to
2aa5be2
Compare
ltinel
left a comment
There was a problem hiding this comment.
Great work 😄
FYI, if you scroll to the bottom of your PR, you'll find some Runbot links, among which the ci/style check. In there, you'll find a few styling suggestions (typically incorrect use of whitespace or newlines). Could you implement those to make the check pass?
|
Thank you for your feedback !
I don't have access to the runbot at the moment 😔. Sysadmins told me that I have to check with HR... I will try to change asap to pass the checks. |
Chapter 5 - Finally, Some UI To Play With
Chapter 6 - Basic views
407eb5d to
d732a5b
Compare
Chapter 7 - Relations Between Models
6b43021 to
8cd5978
Compare
Chapter 8 - Computed Fields and Onchanges
…se offer. Chapter 9 - Ready For Some Action ?
Chapter 10 - Constraints
8cd5978 to
041421a
Compare
- Add Python constraint to ensure selling price is acceptable relative to expected price. - Add SQL constraints for unique property names and positive prices. - Add decorations (colors) to the property list view based on status. - Add 'Offers' stat button to the property form view. - Set default ordering for property types and tags. Chapter 11 - Add The Sprinkles
041421a to
5856ab1
Compare
Chapter 12 - Inheritance
Chapter 13 - Interact With Other Modules
Chapter 14 - A brief history of QWeb
5856ab1 to
9231b81
Compare
Discover the web framework - Chapter 1 - Owl components
47e5510 to
f65151f
Compare
Tutorial - Define module data
83305bd to
a850825
Compare
Tutorials - Restrict access to data
Tutorial - Safeguard your code with unit tests
2e88cf5 to
46c3f0a
Compare
| <field name="model_id" ref="model_estate_property"/> | ||
| <field name="groups" eval="[(4, ref('estate_group_user'))]"/> | ||
| <field name="domain_force">[ | ||
| '|', ('salesman_id', '=', user.id), ('salesman_id', '=', False) |
There was a problem hiding this comment.
Nit:
| '|', ('salesman_id', '=', user.id), ('salesman_id', '=', False) | |
| ('salesman_id', 'in', [user.id, False]) |
| '|', ('company_id', '=', False), | ||
| ('company_id', 'in', company_ids) |
There was a problem hiding this comment.
Nit:
| '|', ('company_id', '=', False), | |
| ('company_id', 'in', company_ids) | |
| ('company_id', 'in', company_ids + [False]) |
| <field name="name">Estate Property: see all </field> | ||
| <field name="model_id" ref="model_estate_property"/> | ||
| <field name="groups" eval="[(4, ref('estate_group_manager'))]"/> | ||
| <field name="domain_force">[(1,'=',1)]</field> |
There was a problem hiding this comment.
Not needed :)
| <field name="domain_force">[(1,'=',1)]</field> |
| <record id="estate_group_manager" model="res.groups"> | ||
| <field name="name">Manager</field> | ||
| <field name="privilege_id" ref="groups_privilege_real_estate"/> | ||
| <field name="implied_ids" eval="[(4, ref('estate_group_user'))]"/> |
There was a problem hiding this comment.
Nit: (same below)
| <field name="implied_ids" eval="[(4, ref('estate_group_user'))]"/> | |
| <field name="implied_ids" eval="[Command.link(ref('estate_group_user'))]"/> |
|
|
||
| with self.assertRaises(UserError, msg="You cannot sell a property without an accepted offer."): | ||
| property_no_offer.action_set_sold() | ||
| property_refused_offer_only.action_set_sold() |
There was a problem hiding this comment.
This line should be in a separate with self.assertRaises(, otherwise it'll never be called.
| property_no_offer.action_set_sold() | ||
| property_refused_offer_only.action_set_sold() | ||
|
|
||
| def test_garden_onchange(self): |

No description provided.