[ADD] Add (Un)archive button on form view of following model

- slide.channel
- slide.slide
- forum.post
- forum.forum
- blog.blog
- blog.post
- survey.survey (only for closed surveys)
- stock.location.route
- stock.warehouse.orderpoint
- stock.picking.type
- stock.incoterms
- stock.warehouse
- stock.location.path
- stock.location
- crm.team
- mrp.bom
- mrp.routing
- mrp.workcenter
- fleet.vehicle.log.contract
- fleet.vehicle
- event.track
- crm.claim
- hr.equipment.request
- hr.equipment
- hr.department
- res.currency
- procurement.rule
This commit is contained in:
Hitesh Trivedi
2016-03-10 13:06:03 +01:00
committed by Yannick Tivisse
parent 54245deebd
commit ed589ca98a
22 changed files with 286 additions and 20 deletions
+4
View File
@@ -312,6 +312,7 @@ class fleet_vehicle(osv.Model):
_order= 'license_plate asc'
_columns = {
'name': fields.function(_vehicle_name_get_fnc, type="char", string='Name', store=True),
'active': fields.boolean('Active'),
'company_id': fields.many2one('res.company', 'Company'),
'license_plate': fields.char('License Plate', required=True, help='License plate number of the vehicle (ie: plate number for a car)'),
'vin_sn': fields.char('Chassis Number', help='Unique number written on the vehicle motor (VIN/SN number)', copy=False),
@@ -351,6 +352,7 @@ class fleet_vehicle(osv.Model):
}
_defaults = {
'active': True,
'doors': 5,
'odometer_unit': 'kilometers',
'state_id': _get_default_state,
@@ -761,6 +763,7 @@ class fleet_vehicle_log_contract(osv.Model):
_order='state desc,expiration_date'
_columns = {
'name': fields.function(_vehicle_contract_name_get_fnc, type="text", string='Name', store=True),
'active': fields.boolean('Active'),
'start_date': fields.date('Contract Start Date', help='Date when the coverage of the contract begins'),
'expiration_date': fields.date('Contract Expiration Date', help='Date when the coverage of the contract expirates (by default, one year after begin date)'),
'days_left': fields.function(get_days_left, type='integer', string='Warning Date'),
@@ -779,6 +782,7 @@ class fleet_vehicle_log_contract(osv.Model):
'cost_amount': fields.related('cost_id', 'amount', string='Amount', type='float', store=True), #we need to keep this field as a related with store=True because the graph view doesn't support (1) to address fields from inherited table and (2) fields that aren't stored in database
}
_defaults = {
'active': True,
'purchaser_id': lambda self, cr, uid, ctx: self.pool.get('res.users').browse(cr, uid, uid, context=ctx).partner_id.id or False,
'date': fields.date.context_today,
'start_date': fields.date.context_today,
+22
View File
@@ -191,6 +191,9 @@
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button name="return_action_to_open"
type="object"
class="oe_stat_button"
@@ -296,6 +299,7 @@
<field name="model">fleet.vehicle</field>
<field name="arch" type="xml">
<tree string="Vehicle" decoration-warning="contract_renewal_due_soon and not contract_renewal_overdue" decoration-danger="contract_renewal_overdue">
<field name="active" invisible="1"/>
<field name="license_plate" />
<field name="model_id" />
<field name="driver_id" />
@@ -322,6 +326,8 @@
<field name="location"/>
<field name="state_id" />
<filter name="alert_true" domain="['|',('contract_renewal_due_soon','=',True),('contract_renewal_overdue','=',True)]" string="Has Alert(s)"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand="1" string="Group By">
<filter name="groupby_status" context="{'group_by' : 'state_id'}" string="Status"/>
<filter name="groupby_model" context="{'group_by' : 'model_id'}" string="Model"/>
@@ -424,6 +430,11 @@
<field name="state" widget="statusbar" />
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group col="2">
<group string="Contract details">
<field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/>
@@ -504,6 +515,7 @@
<field name="model">fleet.vehicle.log.contract</field>
<field name="arch" type="xml">
<tree string="Contract logs" decoration-warning="days_left>0 and days_left&lt;15" decoration-danger="days_left==0" decoration-muted="state=='closed'">
<field name="active" invisible="1"/>
<field name="start_date" />
<field name="expiration_date" />
<field name="days_left" invisible="1"/>
@@ -530,6 +542,16 @@
</field>
</record>
<record id="fleet_vehicle_log_contract_view_search" model="ir.ui.view">
<field name="name">fleet.vehicle.log.contract.search</field>
<field name="model">fleet.vehicle.log.contract</field>
<field name="arch" type="xml">
<search string="Vehicles Contracts">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record model='ir.actions.act_window' id='fleet_vehicle_log_contract_act'>
<field name="name">Vehicles Contracts</field>
<field name="res_model">fleet.vehicle.log.contract</field>
+2
View File
@@ -282,6 +282,7 @@ class hr_department(osv.osv):
_columns = {
'name': fields.char('Department Name', required=True),
'complete_name': fields.function(_dept_name_get_fnc, type="char", string='Name'),
'active': fields.boolean('Active'),
'company_id': fields.many2one('res.company', 'Company', select=True, required=False),
'parent_id': fields.many2one('hr.department', 'Parent Department', select=True),
'child_ids': fields.one2many('hr.department', 'parent_id', 'Child Departments'),
@@ -293,6 +294,7 @@ class hr_department(osv.osv):
}
_defaults = {
'active': True,
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'hr.department', context=c),
}
+7
View File
@@ -423,6 +423,11 @@
<field name="arch" type="xml">
<form string="department">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group col="4">
<field name="name"/>
<field name="manager_id"/>
@@ -458,6 +463,8 @@
<field name="name" string="Department"/>
<field name="manager_id" />
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -106,6 +106,7 @@ class HrEquipment(models.Model):
return recs.name_get()
name = fields.Char('Asset Name', required=True, translate=True)
active = fields.Boolean(default=True)
user_id = fields.Many2one('res.users', string='Technician', track_visibility='onchange')
employee_id = fields.Many2one('hr.employee', string='Assigned to Employee', track_visibility='onchange')
department_id = fields.Many2one('hr.department', string='Assigned to Department', track_visibility='onchange')
@@ -17,6 +17,8 @@
<filter string="My Requests" domain="['|', ('employee_id.user_id', '=', uid), ('department_id.manager_id.user_id', '=', uid)]"/>
<separator/>
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand='0' string='Group by...'>
<filter string='Users' domain="[]" context="{'group_by': 'user_id'}"/>
<filter string='Category' domain="[]" context="{'group_by' : 'category_id'}"/>
@@ -38,9 +40,12 @@
<field name="stage_id" widget="statusbar" clickable="true" readonly="1"/>
</header>
<sheet>
<div class="oe_right">
<field name="kanban_state" class="oe_inline" widget="kanban_state_selection"/>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<field name="kanban_state" widget="kanban_state_selection"/>
<div class="oe_title">
<label for="name" class="oe_edit_only" string="Subject"/>
<h1>
@@ -54,7 +59,6 @@
<field name="category_id" groups="base.group_hr_manager"/>
<field name="request_date" groups="base.group_no_one"/>
<field name="close_date" groups="base.group_no_one"/>
<field name="active" invisible="1"/>
</group>
<group>
<field name="user_id" string="Repair Responsible"/>
@@ -139,6 +143,7 @@
<tree string="maintenance Request" decoration-bf="message_needaction==True">
<field name="message_needaction" invisible="1"/>
<field name="name"/>
<field name="active" invisible="1"/>
<field name="request_date" groups="base.group_no_one"/>
<field name="employee_id"/>
<field name="user_id"/>
@@ -201,6 +206,9 @@
<form string="Equipments">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button name="%(hr_equipment_request_action_from_equipment)d"
type="action"
class="oe_stat_button"
@@ -318,6 +326,7 @@
<tree string="Assign To Employee" decoration-bf="message_needaction==True">
<field name="message_needaction" invisible="1"/>
<field name="name"/>
<field name="active" invisible="1"/>
<field name="employee_id" string="Employee"/>
<field name="department_id" string="Department"/>
<field name="assign_date" groups="base.group_no_one"/>
@@ -346,6 +355,8 @@
<filter string="My Equipments" domain="[('employee_id.user_id', '=', uid)]"/>
<separator/>
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand='0' string='Group by...'>
<filter string='Users' domain="[]" context="{'group_by': 'user_id'}"/>
<filter string='Category' domain="[]" context="{'group_by': 'category_id'}"/>
+2
View File
@@ -51,6 +51,7 @@ class mrp_workcenter(osv.osv):
_description = 'Work Center'
_inherits = {'resource.resource':"resource_id"}
_columns = {
'active': fields.boolean('Active'),
'note': fields.text('Description', help="Description of the Work Center. Explain here what's a cycle according to this Work Center."),
'capacity_per_cycle': fields.float('Capacity per Cycle', help="Number of operations this Work Center can do in parallel. If this Work Center represents a team of 5 workers, the capacity per cycle is 5."),
'time_cycle': fields.float('Time for 1 cycle (hour)', help="Time in hours for doing one cycle."),
@@ -67,6 +68,7 @@ class mrp_workcenter(osv.osv):
'product_id': fields.many2one('product.product','Work Center Product', help="Fill this product to easily track your production costs in the analytic accounting."),
}
_defaults = {
'active': True,
'capacity_per_cycle': 1.0,
'resource_type': 'material',
}
+21 -5
View File
@@ -166,6 +166,7 @@
<tree string="Work Center">
<field name="code"/>
<field name="name"/>
<field name="active" invisible="1"/>
<field name="resource_type"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
@@ -176,6 +177,11 @@
<field name="model">mrp.workcenter</field>
<field name="arch" type="xml">
<form string="Work Center">
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group col="4">
<group>
<field name="name"/>
@@ -185,7 +191,6 @@
<group>
<field name="code"/>
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
<field name="active"/>
</group>
</group>
<notebook>
@@ -221,7 +226,7 @@
<search string="Search for mrp workcenter">
<field name="name" string="Mrp Workcenter" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
<field name="resource_type"/>
<filter string="Inactive" domain="[('active','=',False)]"/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand="0" string="Group By...">
<filter string="Type" domain="[]" context="{'group_by':'resource_type'}"/>
<filter string="Company" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
@@ -299,6 +304,11 @@
<field name="arch" type="xml">
<form string="Routing">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group>
<group>
<field name="name"/>
@@ -307,7 +317,6 @@
<group>
<field name="location_id"/>
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
<field name="active"/>
</group>
</group>
<notebook>
@@ -329,6 +338,7 @@
<tree string="Routing">
<field name="code"/>
<field name="name"/>
<field name="active" invisible="1"/>
<field name="location_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
@@ -340,7 +350,7 @@
<field name="arch" type="xml">
<search string="Routing">
<field name="name" string="Routing" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
<filter string="Inactive" domain="[('active','=',False)]"/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<field name="location_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
@@ -380,6 +390,11 @@
<field name="arch" type="xml">
<form string="Bill of Material">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group>
<group>
<field name="product_tmpl_id" on_change="onchange_product_tmpl_id(product_tmpl_id, product_qty, context)"/>
@@ -422,7 +437,6 @@
<group>
<field name="position"/>
<field name="sequence"/>
<field name="active"/>
</group>
<group>
<field name="date_start"/>
@@ -453,6 +467,7 @@
<field name="model">mrp.bom</field>
<field name="arch" type="xml">
<tree string="Bill of Materials">
<field name="active" invisible="1"/>
<field name="product_tmpl_id"/>
<field name="code"/>
<field name="product_id" groups="product.group_product_variant"/>
@@ -466,6 +481,7 @@
<field name="model">mrp.bom</field>
<field name="arch" type="xml">
<search string="Search Bill Of Material">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<field name="code"/>
<field name="bom_line_ids" string="Components"/>
<field name="product_tmpl_id" string="Product"/>
+8 -1
View File
@@ -240,6 +240,8 @@
<field name="arch" type="xml">
<search string="Search Procurement">
<filter string="Global" name="route_false" domain="[('route_id','=',False)]" help="If the route is global"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -251,6 +253,7 @@
<field name="arch" type="xml">
<tree string="Procurement Rules">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="action"/>
<field name='company_id' groups="base.group_multi_company"/>
</tree>
@@ -263,13 +266,17 @@
<field eval="10" name="priority"/>
<field name="arch" type="xml">
<form string="Procurement Rule">
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name" placeholder="e.g. Buy"/></h1>
</div>
<group name="general">
<group>
<field name="active"/>
<field name="action"/>
</group>
<group>
+8 -3
View File
@@ -13,6 +13,8 @@
<field name="arch" type="xml">
<search string="Salesteams Search">
<filter name="personal" string="My Salesteams" domain="['|', ('member_ids', '=', uid), ('user_id', '=', uid)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<field name="name"/>
<field name="user_id"/>
<field name="code"/>
@@ -50,6 +52,11 @@
<field name="arch" type="xml">
<form string="Sales Team">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only" string="Sales team"/>
<h1>
@@ -87,9 +94,6 @@
</field>
</page>
<page string="More Info" name="more_info" groups="base.group_no_one">
<group>
<field name="active"/>
</group>
<group string="Company" groups="base.group_multi_company">
<field name="company_id" options="{'no_create': True}"/>
</group>
@@ -112,6 +116,7 @@
<field name="arch" type="xml">
<tree string="Sales Team">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="code"/>
<field name="user_id"/>
</tree>
+2
View File
@@ -3295,6 +3295,7 @@ class stock_warehouse(osv.osv):
_columns = {
'name': fields.char('Warehouse Name', required=True, select=True),
'active': fields.boolean('Active'),
'company_id': fields.many2one('res.company', 'Company', required=True, readonly=True, select=True, help='The company is automatically set from your user preferences.'),
'partner_id': fields.many2one('res.partner', 'Address'),
'view_location_id': fields.many2one('stock.location', 'View Location', required=True, domain=[('usage', '=', 'view')]),
@@ -3387,6 +3388,7 @@ class stock_warehouse(osv.osv):
self.write(cr, uid, [warehouse.id, wh.id], {'route_ids': [(4, inter_wh_route_id)]}, context=context)
_defaults = {
'active': True,
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.inventory', context=c),
'reception_steps': 'one_step',
'delivery_steps': 'ship_only',
+70 -7
View File
@@ -311,6 +311,9 @@
<field name="arch" type="xml">
<form string="Stock Location">
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button string="Current Stock"
class="oe_stat_button"
icon="fa-building-o" name="%(location_open_quants)d" type="action"
@@ -333,7 +336,6 @@
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
<field name="scrap_location"/>
<field name="return_location"/>
<field name="active"/>
</group>
<group string="Localization" name="localization">
<field name="posx"/>
@@ -361,6 +363,8 @@
<filter name="customer" string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations"/>
<filter name="supplier" string="Vendor" domain="[('usage', '=', 'supplier')]" help="Vendor Locations"/>
<field name="location_id" string="Parent Location"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -372,6 +376,7 @@
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<tree string="Stock Location" decoration-info="usage=='view'" decoration-danger="usage=='internal'">
<field name="active" invisible="1"/>
<field name="complete_name"/>
<field name="usage"/>
<field name="company_id" groups="base.group_multi_company"/>
@@ -421,6 +426,8 @@
<field name="arch" type="xml">
<search string="Search Stock Location Paths">
<filter string="Global" name="route_false" domain="[('route_id','=',False)]" help="If the route is global"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -433,6 +440,7 @@
<field name="location_from_id" />
<field name="location_dest_id" />
<field name="name" />
<field name="active" invisible="1"/>
</tree>
</field>
</record>
@@ -442,14 +450,16 @@
<field name="model">stock.location.path</field>
<field name="arch" type="xml">
<form string="Location Paths">
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive" groups="stock.group_adv_location">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
</div>
<group>
<group>
<field name="active"/>
</group>
<group>
<field name="sequence"/>
</group>
@@ -529,6 +539,9 @@
<form string="Warehouse">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button name="view_all_routes_for_wh"
string="Routes"
icon="fa-refresh"
@@ -583,11 +596,21 @@
<field name="arch" type="xml">
<tree string="Warehouse">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="lot_stock_id" groups="stock.group_stock_multi_locations"/>
<field name="partner_id"/>
</tree>
</field>
</record>
<record id="stock_warehouse_view_search" model="ir.ui.view">
<field name="name">stock.warehouse.search</field>
<field name="model">stock.warehouse</field>
<field name="arch" type="xml">
<search string="Warehouse">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record id="action_warehouse_form" model="ir.actions.act_window">
<field name="name">Warehouses</field>
<field name="res_model">stock.warehouse</field>
@@ -1568,6 +1591,7 @@
<field name="model">stock.incoterms</field>
<field name="arch" type="xml">
<tree string="Incoterms">
<field name="active" invisible="1"/>
<field name="code"/>
<field colspan="4" name="name"/>
</tree>
@@ -1579,15 +1603,28 @@
<field name="arch" type="xml">
<form string="Incoterms">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group>
<field name="name"/>
<field name="code"/>
<field name="active"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="stock_incoterms_view_search" model="ir.ui.view">
<field name="name">stock.incoterms.search</field>
<field name="model">stock.incoterms</field>
<field name="arch" type="xml">
<search string="Incoterms">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record id="action_incoterms_tree" model="ir.actions.act_window">
<field name="name">Incoterms</field>
<field name="res_model">stock.incoterms</field>
@@ -1606,6 +1643,7 @@
<field name="name"/>
<field name="sequence_id"/>
<field name="warehouse_id"/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -1616,6 +1654,7 @@
<tree string="Operation Types">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="active" invisible="1"/>
<field name="warehouse_id"/>
<field name="sequence_id"/>
</tree>
@@ -1627,6 +1666,11 @@
<field name="arch" type="xml">
<form string="Operation Types">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group>
<group>
<field name="name"/>
@@ -1727,6 +1771,7 @@
<field name="arch" type="xml">
<tree string="Reordering Rules">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="warehouse_id" groups="stock.group_stock_multi_locations"/>
<field name="location_id" groups="stock.group_stock_multi_locations"/>
<field name="product_id"/>
@@ -1747,6 +1792,7 @@
<field name="location_id" groups="stock.group_stock_multi_locations"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="product_id"/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand="0" string="Group By">
<filter string="Warehouse" domain="[]" context="{'group_by':'warehouse_id'}"/>
<filter string="Location" domain="[]" context="{'group_by':'location_id'}"/>
@@ -1762,6 +1808,9 @@
<form string="Reordering Rules">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button name="%(stock.do_view_procurement_op)d" type="action" string="Procurements" class="oe_stat_button" icon="fa-refresh"/>
</div>
<group>
@@ -1784,7 +1833,6 @@
<field name="qty_multiple" string="Quantity Multiple"/>
</group>
<group string="Misc">
<field name="active" />
<label for="lead_days"/>
<div class="o_row">
<field name="lead_days"/>
@@ -2178,6 +2226,7 @@
<tree string="Routes">
<field name="sequence" widget="handle" />
<field name="name"/>
<field name="active" invisible="1"/>
</tree>
</field>
</record>
@@ -2189,6 +2238,11 @@
<field name="arch" type="xml">
<form string="Route">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive" groups="stock.group_adv_location">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
@@ -2196,7 +2250,6 @@
<group>
<group>
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
<field name="active" groups="stock.group_adv_location" />
</group>
<group>
<field name="sequence" string="Sequence" groups="base.group_no_one"/>
@@ -2232,6 +2285,16 @@
</field>
</record>
<record id="stock_location_route_view_search" model="ir.ui.view">
<field name="name">stock.location.route.search</field>
<field name="model">stock.location.route</field>
<field name="arch" type="xml">
<search string="Route">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record id="action_routes_form" model="ir.actions.act_window">
<field name="name">Routes</field>
<field name="res_model">stock.location.route</field>
+1
View File
@@ -185,6 +185,7 @@ class survey_survey(osv.Model):
help="This message will be displayed when survey is completed"),
'quizz_mode': fields.boolean(string='Quiz mode'),
'active': fields.boolean(string="Active"),
'is_closed': fields.related('stage_id', 'closed', type='boolean'),
}
def _default_stage(self, cr, uid, context=None):
+12 -1
View File
@@ -114,6 +114,7 @@
<form string="Survey">
<field name="id" invisible="1"/>
<field name="tot_start_survey" invisible="1"/>
<field name="is_closed" invisible="1"/>
<header groups="base.group_survey_manager">
<button name="action_test_survey" string="Design Survey" type="object" class="oe_highlight"/>
<button name="action_test_survey" string="Test Survey" type="object" attrs="{'invisible': [('id', '=', False)]}"/>
@@ -124,7 +125,7 @@
<field name="stage_id" widget="statusbar" clickable="True" />
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<div class="oe_button_box" name="button_box" attrs="{'invisible': [('is_closed', '=', False)]}">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
@@ -164,6 +165,7 @@
<field name="model">survey.survey</field>
<field name="arch" type="xml">
<tree string="Survey">
<field name="active" invisible="1"/>
<field name="title" />
<field name="stage_id" />
<field name="tot_sent_survey" string="Invitations sent" />
@@ -224,6 +226,15 @@
</kanban>
</field>
</record>
<record id="survey_survey_view_search" model="ir.ui.view">
<field name="name">survey.survey.search</field>
<field name="model">survey.survey</field>
<field name="arch" type="xml">
<search string="Survey">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="action_survey_form">
<field name="name">Surveys</field>
@@ -20,8 +20,23 @@ class Blog(osv.Model):
_columns = {
'name': fields.char('Blog Name', required=True, translate=True),
'subtitle': fields.char('Blog Subtitle', translate=True),
'active': fields.boolean('Active'),
}
_defaults = {
'active': True,
}
def write(self, cr, uid, ids, vals, context=None):
res = super(Blog, self).write(cr, uid, ids, vals, context=context)
if 'active' in vals:
# archiving/unarchiving a blog does it on its posts, too
BlogPost = self.pool['blog.post']
ctx = dict(context or {}, active_test=False)
post_ids = BlogPost.search(cr, uid, [('blog_id', 'in', ids)], context=ctx)
BlogPost.write(cr, uid, post_ids, {'active': vals['active']}, context=context)
return res
def all_tags(self, cr, uid, ids, min_limit=1, context=None):
req = """
SELECT
@@ -96,6 +111,7 @@ class BlogPost(osv.Model):
'name': fields.char('Title', required=True, translate=True),
'subtitle': fields.char('Sub Title', translate=True),
'author_id': fields.many2one('res.partner', 'Author'),
'active': fields.boolean('Active'),
'cover_properties': fields.text('Cover Properties'),
'blog_id': fields.many2one(
'blog.blog', 'Blog',
@@ -139,6 +155,7 @@ class BlogPost(osv.Model):
_defaults = {
'name': '',
'active': True,
'content': _default_content,
'cover_properties': '{"background-image": "none", "background-color": "oe_none", "opacity": "0.6", "resize_class": ""}',
'author_id': lambda self, cr, uid, ctx=None: self.pool['res.users'].browse(cr, uid, uid, context=ctx).partner_id.id,
@@ -10,6 +10,7 @@
<field name="arch" type="xml">
<tree string="Blogs">
<field name="name"/>
<field name="active" invisible="1"/>
</tree>
</field>
</record>
@@ -19,6 +20,11 @@
<field name="arch" type="xml">
<form string="Blog">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" confirm="(Un)archiving a blog automatically (un)archives its posts. Do you want to proceed?" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group>
<field name="name"/>
</group>
@@ -38,6 +44,7 @@
<field name="arch" type="xml">
<tree string="Blog Posts">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="blog_id"/>
<field name="create_uid" invisible="1"/>
<field name="write_uid"/>
@@ -53,6 +60,9 @@
<form string="Blog Post">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
@@ -88,6 +98,7 @@
<field name="model">blog.post</field>
<field name="arch" type="xml">
<search string="Blog Post">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<field name="name" string="Content" filter_domain="['|', ('name','ilike',self), ('content','ilike',self)]"/>
<field name="write_uid"/>
<field name="blog_id"/>
@@ -115,6 +126,16 @@
</record>
<menuitem id="menu_page" parent="menu_website_blog_root" name="Blog Posts" action="action_blog_post" sequence="10"/>
<record id="blog_blog_view_search" model="ir.ui.view">
<field name="name">blog.blog.search</field>
<field name="model">blog.blog</field>
<field name="arch" type="xml">
<search string="Blog">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="action_blog_blog">
<field name="name">Blogs</field>
<field name="res_model">blog.blog</field>
@@ -33,6 +33,7 @@ class event_track(models.Model):
_inherit = ['mail.thread', 'ir.needaction_mixin', 'website.seo.metadata', 'website.published.mixin']
name = fields.Char('Title', required=True, translate=True)
active = fields.Boolean(default=True)
user_id = fields.Many2one('res.users', 'Responsible', track_visibility='onchange', default=lambda self: self.env.user)
partner_id = fields.Many2one('res.partner', 'Proposed by')
partner_name = fields.Char('Partner Name')
@@ -75,6 +75,8 @@
<field name="state"/>
<field name="speaker_ids"/>
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand="0" string="Group By">
<filter string="Responsible" context="{'group_by': 'user_id'}"/>
<filter string="Status" context="{'group_by':'state'}"/>
@@ -95,6 +97,9 @@
</header>
<sheet string="Track">
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<field name="website_url" invisible="1"/>
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
@@ -145,6 +150,7 @@
<field name="arch" type="xml">
<tree string="Event Track">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="event_id"/>
</tree>
</field>
+13
View File
@@ -47,6 +47,7 @@ class Forum(models.Model):
# description and use
name = fields.Char('Forum Name', required=True, translate=True)
active = fields.Boolean(default=True)
faq = fields.Html('Guidelines', default=_get_default_faq, translate=True)
description = fields.Text(
'Description',
@@ -154,6 +155,14 @@ class Forum(models.Model):
def create(self, values):
return super(Forum, self.with_context(mail_create_nolog=True, mail_create_nosubscribe=True)).create(values)
@api.multi
def write(self, vals):
res = super(Forum, self).write(vals)
if 'active' in vals:
# archiving/unarchiving a forum does it on its posts, too
self.env['forum.post'].with_context(active_test=False).search([('forum_id', 'in', self.ids)]).write({'active': vals['active']})
return res
@api.model
def _tag_to_write_vals(self, tags=''):
Tag = self.env['forum.tag']
@@ -500,6 +509,10 @@ class Post(models.Model):
body, subtype = _('Question Edited'), 'website_forum.mt_question_edit'
obj_id = post
obj_id.message_post(body=body, subtype=subtype)
if 'active' in vals:
answers = self.env['forum.post'].with_context(active_test=False).search([('parent_id', 'in', self.ids)])
if answers:
answers.write({'active': vals['active']})
return res
@api.multi
+24
View File
@@ -13,6 +13,7 @@
<field name="arch" type="xml">
<tree string="Forums">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="allow_question"/>
<field name="allow_link"/>
<field name="allow_discussion"/>
@@ -26,6 +27,11 @@
<field name="arch" type="xml">
<form string="Forum">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" confirm="(Un)archiving a forum automatically (un)archives its posts. Do you want to proceed?" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name"/>
@@ -101,6 +107,16 @@
</field>
</record>
<record id="forum_view_search" model="ir.ui.view">
<field name="name">forum.forum.search</field>
<field name="model">forum.forum</field>
<field name="arch" type="xml">
<search string="Forum">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record id="action_forum_forum" model="ir.actions.act_window">
<field name="name">Forums</field>
<field name="res_model">forum.forum</field>
@@ -117,6 +133,7 @@
<field name="arch" type="xml">
<tree string="Forum Posts">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="forum_id"/>
</tree>
</field>
@@ -128,6 +145,11 @@
<field name="arch" type="xml">
<form string="Forum Post">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" confirm="(Un)archiving a post automatically (un)archives its answers. Do you want to proceed?" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name" placeholder="Name"/>
@@ -188,6 +210,8 @@
<filter string="Answers" domain="[('parent_id', '!=', False)]" />
<filter string="Accepted Answer" domain="[('is_correct' , '!=', False), ('parent_id', '!=', False)]" />
<filter string="Answered Questions" domain="[('child_count', '!=', 0), ('parent_id', '=', False)]" />
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand="0" string="Group By">
<filter string="Forum" domain="[]" context="{'group_by': 'forum_id'}"/>
<filter string="Author" domain="[]" context="{'group_by': 'create_uid'}"/>
+10
View File
@@ -30,6 +30,7 @@ class Channel(models.Model):
}
name = fields.Char('Name', translate=True, required=True)
active = fields.Boolean(default=True)
description = fields.Html('Description', translate=True)
sequence = fields.Integer(default=10, help='Display order')
category_ids = fields.One2many('slide.category', 'channel_id', string="Categories")
@@ -151,6 +152,14 @@ class Channel(models.Model):
if self.visibility == 'public':
self.group_ids = False
@api.multi
def write(self, vals):
res = super(Channel, self).write(vals)
if 'active' in vals:
# archiving/unarchiving a channel does it on its slides, too
self.with_context(active_test=False).mapped('slide_ids').write({'active': vals['active']})
return res
class Category(models.Model):
""" Channel contain various categories to manage its slides """
@@ -247,6 +256,7 @@ class Slide(models.Model):
# description
name = fields.Char('Title', required=True, translate=True)
active = fields.Boolean(default=True)
description = fields.Text('Description', translate=True)
channel_id = fields.Many2one('slide.channel', string="Channel", required=True)
category_id = fields.Many2one('slide.category', string="Category", domain="[('channel_id', '=', channel_id)]")
@@ -41,6 +41,9 @@
<form string="Slide">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
@@ -107,6 +110,7 @@
<field name="arch" type="xml">
<tree string="Slides">
<field name="name"/>
<field name="active" invisible="1"/>
<field name="slide_type"/>
<field name="channel_id"/>
<field name="category_id"/>
@@ -123,6 +127,8 @@
<field name="name"/>
<filter name="published" string="Published" domain="[('website_published', '=', True)]"/>
<filter name="not_published" string="Waiting for validation" domain="[('website_published', '=', False)]"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand="0" string="Group By">
<filter string="Channel" domain="[]" context="{'group_by': 'channel_id'}"/>
<filter string="Category" domain="[]" context="{'group_by': 'category_id'}"/>
@@ -195,6 +201,9 @@
<form string="Channels">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" confirm="(Un)archiving a channel automatically (un)archives its slides. Do you want to proceed?" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
<button class="oe_stat_button" name="website_publish_button"
type="object" icon="fa-globe">
<field name="website_published" widget="website_button"/>
@@ -254,12 +263,23 @@
<tree string="Channel">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="active" invisible="1"/>
<field name="visibility"/>
<field name="promote_strategy"/>
</tree>
</field>
</record>
<record id="slide_channel_view_search" model="ir.ui.view">
<field name="name">slide.channel.search</field>
<field name="model">slide.channel</field>
<field name="arch" type="xml">
<search string="Channel">
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
</search>
</field>
</record>
<record id="action_slide_channels" model="ir.actions.act_window">
<field name="name">Channels</field>
<field name="res_model">slide.channel</field>