Skip to content

Commit

Permalink
Merge PR #1174 into 17.0
Browse files Browse the repository at this point in the history
Signed-off-by max3903
  • Loading branch information
OCA-git-bot committed Apr 22, 2024
2 parents 81db6d3 + ea962dd commit 1699242
Show file tree
Hide file tree
Showing 45 changed files with 9,831 additions and 2 deletions.
170 changes: 170 additions & 0 deletions fieldservice_recurring/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
===================================
Field Service Recurring Work Orders
===================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:f9202915f32e13af1b09c720ef29cf9add706abc5070ecd62d688d57a881e5f0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffield--service-lightgray.png?logo=github
:target: https://github.com/OCA/field-service/tree/17.0/fieldservice_recurring
:alt: OCA/field-service
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/field-service-17-0/field-service-17-0-fieldservice_recurring
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/field-service&target_branch=17.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows you to manage your recurring field service work
orders

Recurring settings are configured via the FSM Frequency model. Multiple
FSM Frequency can be combined on a FSM Frequency Rule Set which enables
highly configurable recurring rules calculated using the dateutil rrule
python library.

**Table of contents**

.. contents::
:local:

Installation
============

To install Field Service and have the mapping features, you need to
install GeoEngine.

Please refer to the installation instructions available at:
https://github.com/OCA/geospatial/tree/12.0/base_geoengine

Configuration
=============

To configure this module, you need to:

- Setup your Frequencies to establish recurring rules

1. In fieldservice app go to Menu > Configuration > Orders > Frequencies
2. Create a Frequency
3. Setup your Frequency by giving it a descriptive name, set your
interval and the interval type. Use the additional settings to build
a recurring rule based on python's dateutil rrule parameters.

- Setup your Frequency Rule Sets used to calculate recurring order
dates

1. In fieldservice app go to Menu > Configuration > Orders > Frequency
Rule Set
2. Create a Frequency Rule Set
3. Setup your Frequency Rule by first giving it a descriptive name.
Complete the form by entering the number of days ahead this rule will
schedule work.
4. Finally, choose which Frequencies this rule will use to compute the
dates used for scheduling.

- Setup your recurring order templates to define standard recurring
orders

1. In fieldservice app go to Menu > Configuration > Orders > Recurring
Templates
2. Name the template and set fields to define which order template is
repeated and what Frequency Rule Set will be used

Usage
=====

To use this module, you need to:

- In fieldservice app go to Menu > Operations > Recurring Orders
- Create a new Recurring Order model
- Select a Recurring Template and modify as needed.
- Set other fields for fsm location, etc
- Confirm the recurrence to create first order
- Future orders will be created via cron task

Known issues / Roadmap
======================

The roadmap of the Field Service application is documented on
`Github <https://github.com/OCA/field-service/issues/1>`__.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/field-service/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/field-service/issues/new?body=module:%20fieldservice_recurring%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Brian McMaster
* Open Source Integrators

Contributors
------------

- Brian McMaster <brian@mcmpest.com>
- Kitti Upariphutthiphone <kittiu@ecosoft.co.th>
- Raphaël Reverdy <raphael.reverdy@akretion.com>
- Freni Patel <fpatel@opensourceintegrators.com>
- `APSL <https://apsl.tech>`__:

- Antoni Marroig <amarroig@apsl.net>

Other credits
-------------

The development of this module has been financially supported by:

- Open Source Integrators <https://opensourceintegrators.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-wolfhall| image:: https://github.com/wolfhall.png?size=40px
:target: https://github.com/wolfhall
:alt: wolfhall
.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px
:target: https://github.com/max3903
:alt: max3903
.. |maintainer-brian10048| image:: https://github.com/brian10048.png?size=40px
:target: https://github.com/brian10048
:alt: brian10048

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-wolfhall| |maintainer-max3903| |maintainer-brian10048|

This module is part of the `OCA/field-service <https://github.com/OCA/field-service/tree/17.0/fieldservice_recurring>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions fieldservice_recurring/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright (C) 2019 Brian McMaster, Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
35 changes: 35 additions & 0 deletions fieldservice_recurring/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright (C) 2019 Brian McMaster, Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Field Service Recurring Work Orders",
"summary": "Manage recurring Field Service orders",
"version": "17.0.1.0.0",
"category": "Field Service",
"author": "Brian McMaster, "
"Open Source Integrators, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/field-service",
"depends": ["fieldservice"],
"data": [
"data/ir_sequence.xml",
"security/res_groups.xml",
"security/ir.model.access.csv",
"security/recurring_security.xml",
"views/fsm_frequency.xml",
"views/fsm_frequency_set.xml",
"views/fsm_order.xml",
"views/fsm_recurring_template.xml",
"views/fsm_recurring.xml",
"views/fsm_team.xml",
"data/recurring_cron.xml",
],
"demo": [
"demo/frequency_demo.xml",
"demo/frequency_set_demo.xml",
"demo/recur_template_demo.xml",
],
"license": "AGPL-3",
"development_status": "Beta",
"maintainers": ["wolfhall", "max3903", "brian10048"],
}
11 changes: 11 additions & 0 deletions fieldservice_recurring/data/ir_sequence.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<!-- Sequence for fsm.recurring -->
<record id="seq_fsm_order" model="ir.sequence">
<field name="name">FSM Recurring Order</field>
<field name="code">fsm.recurring</field>
<field name="prefix">RFO</field>
<field name="padding">3</field>
<field name="company_id" eval="False" />
</record>
</odoo>
13 changes: 13 additions & 0 deletions fieldservice_recurring/data/recurring_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding='UTF-8' ?>
<odoo>
<record model="ir.cron" id="recurring_orders_cron">
<field name="name">Field Service: generate recurring orders</field>
<field name="model_id" ref="model_fsm_recurring" />
<field name="state">code</field>
<field name="code">model._cron_scheduled_task()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False" />
</record>
</odoo>
15 changes: 15 additions & 0 deletions fieldservice_recurring/demo/frequency_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<odoo>

<record id="freq_weekdays" model="fsm.frequency">
<field name="name">Weekdays</field>
<field name="interval">1</field>
<field name="interval_type">daily</field>
<field name="use_byweekday" eval="True" />
<field name="mo" eval="True" />
<field name="tu" eval="True" />
<field name="we" eval="True" />
<field name="th" eval="True" />
<field name="fr" eval="True" />
</record>

</odoo>
11 changes: 11 additions & 0 deletions fieldservice_recurring/demo/frequency_set_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<odoo>

<record id="freq_set_weekdays" model="fsm.frequency.set">
<field name="name">Weekdays</field>
<field name="fsm_frequency_ids" eval="[(4, ref('freq_weekdays'))]" />
<field name="schedule_days">14</field>
<field name="buffer_early">1</field>
<field name="buffer_late">1</field>
</record>

</odoo>
12 changes: 12 additions & 0 deletions fieldservice_recurring/demo/recur_template_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<odoo>

<record id="recur_template_weekdays" model="fsm.recurring.template">
<field name="name">Weekdays Template</field>
<field name="description">
This template will create an FSM Recurring Order that will
generate FSM Orders every weekday.
</field>
<field name="fsm_frequency_set_id" eval="ref('freq_set_weekdays')" />
</record>

</odoo>
Loading

0 comments on commit 1699242

Please sign in to comment.