Skip to content

Commit 4dbc4ee

Browse files
authored
Merge pull request #1 from zesov/11.0
11.0
2 parents 7960908 + 9d6e83b commit 4dbc4ee

File tree

12 files changed

+382
-16
lines changed

12 files changed

+382
-16
lines changed

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# ignore files
2+
.svn/
3+
*.pyc
4+
*.sublime-workspace
5+
*.sublime-project
6+
*.DS_Store
7+
*.json
8+
*.txt
9+
.ftpconfig

auto_reset_sequence/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from . import controllers
4+
from . import models
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# -*- coding: utf-8 -*-
2+
{
3+
'name': "auto_reset_sequence",
4+
5+
'summary': """
6+
Auto Reset Sequences Dayly, Monthly or Yearly!""",
7+
8+
'description': """
9+
Auto Reset Sequences Dayly, Monthly or Yearly!
10+
""",
11+
12+
'author': "Appnext",
13+
'website': "http://appnxt.com",
14+
15+
# Categories can be used to filter modules in modules listing
16+
# Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
17+
# for the full list
18+
'category': 'Uncategorized',
19+
'version': '0.1',
20+
21+
# any module necessary for this one to work correctly
22+
'depends': ['base'],
23+
24+
# always loaded
25+
'data': [
26+
# 'security/ir.model.access.csv',
27+
'views/views.xml',
28+
'views/templates.xml',
29+
],
30+
# only loaded in demonstration mode
31+
'demo': [
32+
'demo/demo.xml',
33+
],
34+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from . import controllers
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# -*- coding: utf-8 -*-
2+
from odoo import http
3+
4+
# class AutoResetSequence(http.Controller):
5+
# @http.route('/auto_reset_sequence/auto_reset_sequence/', auth='public')
6+
# def index(self, **kw):
7+
# return "Hello, world"
8+
9+
# @http.route('/auto_reset_sequence/auto_reset_sequence/objects/', auth='public')
10+
# def list(self, **kw):
11+
# return http.request.render('auto_reset_sequence.listing', {
12+
# 'root': '/auto_reset_sequence/auto_reset_sequence',
13+
# 'objects': http.request.env['auto_reset_sequence.auto_reset_sequence'].search([]),
14+
# })
15+
16+
# @http.route('/auto_reset_sequence/auto_reset_sequence/objects/<model("auto_reset_sequence.auto_reset_sequence"):obj>/', auth='public')
17+
# def object(self, obj, **kw):
18+
# return http.request.render('auto_reset_sequence.object', {
19+
# 'object': obj
20+
# })

auto_reset_sequence/demo/demo.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<openerp>
2+
<data>
3+
<!-- -->
4+
<!-- <record id="object0" model="auto_reset_sequence.auto_reset_sequence"> -->
5+
<!-- <field name="name">Object 0</field> -->
6+
<!-- <field name="value">0</field> -->
7+
<!-- </record> -->
8+
<!-- -->
9+
<!-- <record id="object1" model="auto_reset_sequence.auto_reset_sequence"> -->
10+
<!-- <field name="name">Object 1</field> -->
11+
<!-- <field name="value">10</field> -->
12+
<!-- </record> -->
13+
<!-- -->
14+
<!-- <record id="object2" model="auto_reset_sequence.auto_reset_sequence"> -->
15+
<!-- <field name="name">Object 2</field> -->
16+
<!-- <field name="value">20</field> -->
17+
<!-- </record> -->
18+
<!-- -->
19+
<!-- <record id="object3" model="auto_reset_sequence.auto_reset_sequence"> -->
20+
<!-- <field name="name">Object 3</field> -->
21+
<!-- <field name="value">30</field> -->
22+
<!-- </record> -->
23+
<!-- -->
24+
<!-- <record id="object4" model="auto_reset_sequence.auto_reset_sequence"> -->
25+
<!-- <field name="name">Object 4</field> -->
26+
<!-- <field name="value">40</field> -->
27+
<!-- </record> -->
28+
<!-- -->
29+
</data>
30+
</openerp>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from . import models
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from odoo import models, fields, api
4+
from odoo.addons.iap.models.iap import jsonrpc, InsufficientCreditError
5+
6+
7+
DEFAULT_ENDPOINT = 'http://iap-service.y11c.appnxt.com'
8+
class IrSequence(models.Model):
9+
_inherit = 'ir.sequence'
10+
11+
auto_reset = fields.Boolean('Auto Reset',default=False)
12+
reset_period = fields.Selection(
13+
[('year', 'Every Year'), ('month', 'Every Month'), ('woy', 'Every Week'), ('day', 'Every Day'), ('h24', 'Every Hour'), ('min', 'Every Minute'), ('sec', 'Every Second')],
14+
'Reset Period', required=True, default='day')
15+
reset_time = fields.Char('Reset Time', size=64, help="")
16+
reset_init_number = fields.Integer('Reset Number', required=True, default=1, help="Reset number of this sequence")
17+
18+
@api.model
19+
def create(self, vals):
20+
res = super(IrSequence,self).create(vals)
21+
self.filtered(lambda x: x.auto_reset == True).endpoint_set_sequence()
22+
return res
23+
24+
@api.multi
25+
def write(self, vals):
26+
res = super(IrSequence,self).write(vals)
27+
self.filtered(lambda x: x.auto_reset == True).endpoint_set_sequence()
28+
return res
29+
30+
@api.model
31+
def next_by_code(self, sequence_code):
32+
seq = self.search([('code','=',sequence_code)],limit=1)
33+
if seq and seq.auto_reset:
34+
return self.action_get_sequence(sequence_code)
35+
return super(IrSequence,self).next_by_code(sequence_code)
36+
37+
@api.multi
38+
def endpoint_set_sequence(self):
39+
for r in self:
40+
user_token = self.env['iap.account'].get('auto_reset_sequence')
41+
params = {
42+
'dbuuid': self.env['ir.config_parameter'].sudo().get_param('database.uuid'),
43+
'account_token': user_token.account_token,
44+
'code': r.code,
45+
'vals': r.read()[0]
46+
}
47+
endpoint = self.env['ir.config_parameter'].sudo().get_param('auto_reset_sequence.endpoint', DEFAULT_ENDPOINT)
48+
jsonrpc(endpoint + '/set_sequence', params=params)
49+
return True
50+
51+
@api.multi
52+
def action_get_sequence(self,sequence_code):
53+
user_token = self.env['iap.account'].get('auto_reset_sequence')
54+
params = {
55+
'account_token': user_token.account_token,
56+
'dbuuid': self.env['ir.config_parameter'].sudo().get_param('database.uuid'),
57+
'code': sequence_code,
58+
}
59+
endpoint = self.env['ir.config_parameter'].sudo().get_param('auto_reset_sequence.endpoint', DEFAULT_ENDPOINT)
60+
return jsonrpc(endpoint + '/sequence', params=params)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2+
access_auto_reset_sequence_auto_reset_sequence,auto_reset_sequence.auto_reset_sequence,model_auto_reset_sequence_auto_reset_sequence,,1,0,0,0
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<openerp>
2+
<data>
3+
<!-- <template id="listing"> -->
4+
<!-- <ul> -->
5+
<!-- <li t-foreach="objects" t-as="object"> -->
6+
<!-- <a t-attf-href="#{ root }/objects/#{ object.id }"> -->
7+
<!-- <t t-esc="object.display_name"/> -->
8+
<!-- </a> -->
9+
<!-- </li> -->
10+
<!-- </ul> -->
11+
<!-- </template> -->
12+
<!-- <template id="object"> -->
13+
<!-- <h1><t t-esc="object.display_name"/></h1> -->
14+
<!-- <dl> -->
15+
<!-- <t t-foreach="object._fields" t-as="field"> -->
16+
<!-- <dt><t t-esc="field"/></dt> -->
17+
<!-- <dd><t t-esc="object[field]"/></dd> -->
18+
<!-- </t> -->
19+
<!-- </dl> -->
20+
<!-- </template> -->
21+
</data>
22+
</openerp>

0 commit comments

Comments
 (0)