-
-
-
-
- auction.bid.tree
- auction.bid
- tree
-
-
-
-
-
-
-
-
-
-
-
-
- Auction Bid
- auction.bid
- search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Open Bids
- auction.bid
- tree,form
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/auction_wizard.xml b/addons/auction/auction_wizard.xml
deleted file mode 100644
index 70caa14cd3b..00000000000
--- a/addons/auction/auction_wizard.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/addons/auction/barcode/__init__.py b/addons/auction/barcode/__init__.py
deleted file mode 100644
index 1f03cafa4a7..00000000000
--- a/addons/auction/barcode/__init__.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 1996-2000 Tyler C. Sarna
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Tyler C. Sarna.
-# 4. Neither the name of the author nor the names of contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-__version__ = '0.9'
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/barcode/code128.py b/addons/auction/barcode/code128.py
deleted file mode 100644
index e19193bf6c6..00000000000
--- a/addons/auction/barcode/code128.py
+++ /dev/null
@@ -1,322 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2000 Tyler C. Sarna
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Tyler C. Sarna.
-# 4. Neither the name of the author nor the names of contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-from reportlab.lib.units import inch
-from common import MultiWidthBarcode
-from string import digits
-
-_patterns = {
- 0 : 'BaBbBb', 1 : 'BbBaBb', 2 : 'BbBbBa',
- 3 : 'AbAbBc', 4 : 'AbAcBb', 5 : 'AcAbBb',
- 6 : 'AbBbAc', 7 : 'AbBcAb', 8 : 'AcBbAb',
- 9 : 'BbAbAc', 10 : 'BbAcAb', 11 : 'BcAbAb',
- 12 : 'AaBbCb', 13 : 'AbBaCb', 14 : 'AbBbCa',
- 15 : 'AaCbBb', 16 : 'AbCaBb', 17 : 'AbCbBa',
- 18 : 'BbCbAa', 19 : 'BbAaCb', 20 : 'BbAbCa',
- 21 : 'BaCbAb', 22 : 'BbCaAb', 23 : 'CaBaCa',
- 24 : 'CaAbBb', 25 : 'CbAaBb', 26 : 'CbAbBa',
- 27 : 'CaBbAb', 28 : 'CbBaAb', 29 : 'CbBbAa',
- 30 : 'BaBaBc', 31 : 'BaBcBa', 32 : 'BcBaBa',
- 33 : 'AaAcBc', 34 : 'AcAaBc', 35 : 'AcAcBa',
- 36 : 'AaBcAc', 37 : 'AcBaAc', 38 : 'AcBcAa',
- 39 : 'BaAcAc', 40 : 'BcAaAc', 41 : 'BcAcAa',
- 42 : 'AaBaCc', 43 : 'AaBcCa', 44 : 'AcBaCa',
- 45 : 'AaCaBc', 46 : 'AaCcBa', 47 : 'AcCaBa',
- 48 : 'CaCaBa', 49 : 'BaAcCa', 50 : 'BcAaCa',
- 51 : 'BaCaAc', 52 : 'BaCcAa', 53 : 'BaCaCa',
- 54 : 'CaAaBc', 55 : 'CaAcBa', 56 : 'CcAaBa',
- 57 : 'CaBaAc', 58 : 'CaBcAa', 59 : 'CcBaAa',
- 60 : 'CaDaAa', 61 : 'BbAdAa', 62 : 'DcAaAa',
- 63 : 'AaAbBd', 64 : 'AaAdBb', 65 : 'AbAaBd',
- 66 : 'AbAdBa', 67 : 'AdAaBb', 68 : 'AdAbBa',
- 69 : 'AaBbAd', 70 : 'AaBdAb', 71 : 'AbBaAd',
- 72 : 'AbBdAa', 73 : 'AdBaAb', 74 : 'AdBbAa',
- 75 : 'BdAbAa', 76 : 'BbAaAd', 77 : 'DaCaAa',
- 78 : 'BdAaAb', 79 : 'AcDaAa', 80 : 'AaAbDb',
- 81 : 'AbAaDb', 82 : 'AbAbDa', 83 : 'AaDbAb',
- 84 : 'AbDaAb', 85 : 'AbDbAa', 86 : 'DaAbAb',
- 87 : 'DbAaAb', 88 : 'DbAbAa', 89 : 'BaBaDa',
- 90 : 'BaDaBa', 91 : 'DaBaBa', 92 : 'AaAaDc',
- 93 : 'AaAcDa', 94 : 'AcAaDa', 95 : 'AaDaAc',
- 96 : 'AaDcAa', 97 : 'DaAaAc', 98 : 'DaAcAa',
- 99 : 'AaCaDa', 100 : 'AaDaCa', 101 : 'CaAaDa',
- 102 : 'DaAaCa', 103 : 'BaAdAb', 104 : 'BaAbAd',
- 105 : 'BaAbCb', 106 : 'BcCaAaB'
-}
-
-starta, startb, startc, stop = 103, 104, 105, 106
-
-seta = {
- ' ' : 0, '!' : 1, '"' : 2, '#' : 3,
- '$' : 4, '%' : 5, '&' : 6, '\'' : 7,
- '(' : 8, ')' : 9, '*' : 10, '+' : 11,
- ',' : 12, '-' : 13, '.' : 14, '/' : 15,
- '0' : 16, '1' : 17, '2' : 18, '3' : 19,
- '4' : 20, '5' : 21, '6' : 22, '7' : 23,
- '8' : 24, '9' : 25, ':' : 26, ';' : 27,
- '<' : 28, '=' : 29, '>' : 30, '?' : 31,
- '@' : 32, 'A' : 33, 'B' : 34, 'C' : 35,
- 'D' : 36, 'E' : 37, 'F' : 38, 'G' : 39,
- 'H' : 40, 'I' : 41, 'J' : 42, 'K' : 43,
- 'L' : 44, 'M' : 45, 'N' : 46, 'O' : 47,
- 'P' : 48, 'Q' : 49, 'R' : 50, 'S' : 51,
- 'T' : 52, 'U' : 53, 'V' : 54, 'W' : 55,
- 'X' : 56, 'Y' : 57, 'Z' : 58, '[' : 59,
- '\\' : 60, ']' : 61, '^' : 62, '_' : 63,
- '\x00' : 64, '\x01' : 65, '\x02' : 66, '\x03' : 67,
- '\x04' : 68, '\x05' : 69, '\x06' : 70, '\x07' : 71,
- '\x08' : 72, '\x09' : 73, '\x0a' : 74, '\x0b' : 75,
- '\x0c' : 76, '\x0d' : 77, '\x0e' : 78, '\x0f' : 79,
- '\x10' : 80, '\x11' : 81, '\x12' : 82, '\x13' : 83,
- '\x14' : 84, '\x15' : 85, '\x16' : 86, '\x17' : 87,
- '\x18' : 88, '\x19' : 89, '\x1a' : 90, '\x1b' : 91,
- '\x1c' : 92, '\x1d' : 93, '\x1e' : 94, '\x1f' : 95,
- '\xf3' : 96, '\xf2' : 97, 'SHIFT' : 98, 'TO_C' : 99,
- 'TO_B' : 100, '\xf4' : 101, '\xf1' : 102
-}
-
-setb = {
- ' ' : 0, '!' : 1, '"' : 2, '#' : 3,
- '$' : 4, '%' : 5, '&' : 6, '\'' : 7,
- '(' : 8, ')' : 9, '*' : 10, '+' : 11,
- ',' : 12, '-' : 13, '.' : 14, '/' : 15,
- '0' : 16, '1' : 17, '2' : 18, '3' : 19,
- '4' : 20, '5' : 21, '6' : 22, '7' : 23,
- '8' : 24, '9' : 25, ':' : 26, ';' : 27,
- '<' : 28, '=' : 29, '>' : 30, '?' : 31,
- '@' : 32, 'A' : 33, 'B' : 34, 'C' : 35,
- 'D' : 36, 'E' : 37, 'F' : 38, 'G' : 39,
- 'H' : 40, 'I' : 41, 'J' : 42, 'K' : 43,
- 'L' : 44, 'M' : 45, 'N' : 46, 'O' : 47,
- 'P' : 48, 'Q' : 49, 'R' : 50, 'S' : 51,
- 'T' : 52, 'U' : 53, 'V' : 54, 'W' : 55,
- 'X' : 56, 'Y' : 57, 'Z' : 58, '[' : 59,
- '\\' : 60, ']' : 61, '^' : 62, '_' : 63,
- '`' : 64, 'a' : 65, 'b' : 66, 'c' : 67,
- 'd' : 68, 'e' : 69, 'f' : 70, 'g' : 71,
- 'h' : 72, 'i' : 73, 'j' : 74, 'k' : 75,
- 'l' : 76, 'm' : 77, 'n' : 78, 'o' : 79,
- 'p' : 80, 'q' : 81, 'r' : 82, 's' : 83,
- 't' : 84, 'u' : 85, 'v' : 86, 'w' : 87,
- 'x' : 88, 'y' : 89, 'z' : 90, '{' : 91,
- '|' : 92, '}' : 93, '~' : 94, '\x7f' : 95,
- '\xf3' : 96, '\xf2' : 97, 'SHIFT' : 98, 'TO_C' : 99,
- '\xf4' : 100, 'TO_A' : 101, '\xf1' : 102
-}
-
-setc = {
- '00': 0, '01': 1, '02': 2, '03': 3, '04': 4,
- '05': 5, '06': 6, '07': 7, '08': 8, '09': 9,
- '10':10, '11':11, '12':12, '13':13, '14':14,
- '15':15, '16':16, '17':17, '18':18, '19':19,
- '20':20, '21':21, '22':22, '23':23, '24':24,
- '25':25, '26':26, '27':27, '28':28, '29':29,
- '30':30, '31':31, '32':32, '33':33, '34':34,
- '35':35, '36':36, '37':37, '38':38, '39':39,
- '40':40, '41':41, '42':42, '43':43, '44':44,
- '45':45, '46':46, '47':47, '48':48, '49':49,
- '50':50, '51':51, '52':52, '53':53, '54':54,
- '55':55, '56':56, '57':57, '58':58, '59':59,
- '60':60, '61':61, '62':62, '63':63, '64':64,
- '65':65, '66':66, '67':67, '68':68, '69':69,
- '70':70, '71':71, '72':72, '73':73, '74':74,
- '75':75, '76':76, '77':77, '78':78, '79':79,
- '80':80, '81':81, '82':82, '83':83, '84':84,
- '85':85, '86':86, '87':87, '88':88, '89':89,
- '90':90, '91':91, '92':92, '93':93, '94':94,
- '95':95, '96':96, '97':97, '98':98, '99':99,
-
- 'TO_B' : 100, 'TO_A' : 101, '\xf1' : 102
-}
-
-setmap = {
- 'TO_A' : (seta, setb),
- 'TO_B' : (setb, seta),
- 'TO_C' : (setc, None),
- 'START_A' : (starta, seta, setb),
- 'START_B' : (startb, setb, seta),
- 'START_C' : (startc, setc, None),
-}
-tos = setmap.keys()
-
-class Code128(MultiWidthBarcode):
- """
- Code 128 is a very compact symbology that can encode the entire
- 128 character ASCII set, plus 4 special control codes,
- (FNC1-FNC4, expressed in the input string as \xf1 to \xf4).
- Code 128 can also encode digits at double density (2 per byte)
- and has a mandatory checksum. Code 128 is well supported and
- commonly used -- for example, by UPS for tracking labels.
-
- Because of these qualities, Code 128 is probably the best choice
- for a linear symbology today (assuming you have a choice).
-
- Options that may be passed to constructor:
-
- value (int, or numeric string. required.):
- The value to encode.
-
- xdim (float, default .0075):
- X-Dimension, or width of the smallest element
- Minumum is .0075 inch (7.5 mils).
-
- height (float, see default below):
- Height of the symbol. Default is the height of the two
- bearer bars (if they exist) plus the greater of .25 inch
- or .15 times the symbol's length.
-
- quiet (bool, default 1):
- Wether to include quiet zones in the symbol.
-
- lquiet (float, see default below):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or 10 xdim
-
- rquiet (float, defaults as above):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of Information on Code 128:
-
- http://www.semiconductor.agilent.com/barcode/sg/Misc/code_128.html
- http://www.adams1.com/pub/russadam/128code.html
- http://www.barcodeman.com/c128.html
-
- Official Spec, "ANSI/AIM BC4-1999, ISS" is available for US$45 from
- http://www.aimglobal.org/aimstore/
- """
- def __init__(self, value='', **args):
- self.xdim = inch * 0.0075
- self.lquiet = None
- self.rquiet = None
- self.quiet = 1
- self.height = None
-
- if type(value) is type(1):
- value = str(value)
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- if self.quiet:
- if self.lquiet is None:
- self.lquiet = max(inch * 0.25, self.xdim * 10.0)
- self.rquiet = max(inch * 0.25, self.xdim * 10.0)
- else:
- self.lquiet = self.rquiet = 0.0
-
- MultiWidthBarcode.__init__(self, value)
-
- def validate(self):
- vval = ""
- self.valid = 1
- for c in self.value:
- if ord(c) > 127 and c not in '\xf1\xf2\xf3\xf4':
- self.valid = 0
- continue
- vval = vval + c
- self.validated = vval
- return vval
-
- def _trailingDigitsToC(self, l):
- # Optimization: trailing digits -> set C double-digits
- c = 1
- savings = -1 # the TO_C costs one character
- rl = ['STOP']
- while c < len(l):
- i = (-c - 1)
- if l[i] == '\xf1':
- c = c + 1
- rl.insert(0, '\xf1')
- continue
- elif len(l[i]) == 1 and l[i] in digits \
- and len(l[i-1]) == 1 and l[i-1] in digits:
- c = c + 2
- savings = savings + 1
- rl.insert(0, l[i-1] + l[i])
- continue
- else:
- break
- if savings > 0:
- return l[:-c] + ['TO_C'] + rl
- else:
- return l
-
- def encode(self):
- # First, encode using only B
- s = self.validated
- l = ['START_B']
- for c in s:
- if not setb.has_key(c):
- l = l + ['TO_A', c, 'TO_B']
- else:
- l.append(c)
- l.append('STOP')
-
- l = self._trailingDigitsToC(l)
-
- # Finally, replace START_X,TO_Y with START_Y
- if l[1] in tos:
- l[:2] = ['START_' + l[1][-1]]
-
-
- # encode into numbers
- start, set, shset = setmap[l[0]]
- e = [start]
-
- l = l[1:-1]
- while l:
- c = l[0]
- if c == 'SHIFT':
- e = e + [set[c], shset[l[1]]]
- l = l[2:]
- elif c in tos:
- e.append(set[c])
- set, shset = setmap[c]
- l = l[1:]
- else:
- e.append(set[c])
- l = l[1:]
-
- c = e[0]
- for i in range(1, len(e)):
- c = c + i * e[i]
- self.encoded = e + [c % 103, stop]
- return self.encoded
-
- def decompose(self):
- dval = ''
- for c in self.encoded:
- dval = dval + _patterns[c]
- self.decomposed = dval
- return self.decomposed
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/barcode/code39.py b/addons/auction/barcode/code39.py
deleted file mode 100644
index a3926c6c48d..00000000000
--- a/addons/auction/barcode/code39.py
+++ /dev/null
@@ -1,257 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 1996-2000 Tyler C. Sarna
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Tyler C. Sarna.
-# 4. Neither the name of the author nor the names of contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-from reportlab.lib.units import inch
-from common import Barcode
-import string
-
-_patterns = {
- '0': ("bsbSBsBsb", 0), '1': ("BsbSbsbsB", 1),
- '2': ("bsBSbsbsB", 2), '3': ("BsBSbsbsb", 3),
- '4': ("bsbSBsbsB", 4), '5': ("BsbSBsbsb", 5),
- '6': ("bsBSBsbsb", 6), '7': ("bsbSbsBsB", 7),
- '8': ("BsbSbsBsb", 8), '9': ("bsBSbsBsb", 9),
- 'A': ("BsbsbSbsB", 10), 'B': ("bsBsbSbsB", 11),
- 'C': ("BsBsbSbsb", 12), 'D': ("bsbsBSbsB", 13),
- 'E': ("BsbsBSbsb", 14), 'F': ("bsBsBSbsb", 15),
- 'G': ("bsbsbSBsB", 16), 'H': ("BsbsbSBsb", 17),
- 'I': ("bsBsbSBsb", 18), 'J': ("bsbsBSBsb", 19),
- 'K': ("BsbsbsbSB", 20), 'L': ("bsBsbsbSB", 21),
- 'M': ("BsBsbsbSb", 22), 'N': ("bsbsBsbSB", 23),
- 'O': ("BsbsBsbSb", 24), 'P': ("bsBsBsbSb", 25),
- 'Q': ("bsbsbsBSB", 26), 'R': ("BsbsbsBSb", 27),
- 'S': ("bsBsbsBSb", 28), 'T': ("bsbsBsBSb", 29),
- 'U': ("BSbsbsbsB", 30), 'V': ("bSBsbsbsB", 31),
- 'W': ("BSBsbsbsb", 32), 'X': ("bSbsBsbsB", 33),
- 'Y': ("BSbsBsbsb", 34), 'Z': ("bSBsBsbsb", 35),
- '-': ("bSbsbsBsB", 36), '.': ("BSbsbsBsb", 37),
- ' ': ("bSBsbsBsb", 38), '*': ("bSbsBsBsb", 39),
- '$': ("bSbSbSbsb", 40), '/': ("bSbSbsbSb", 41),
- '+': ("bSbsbSbSb", 42), '%': ("bsbSbSbSb", 43)
-}
-
-_valchars = [
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
- 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
- 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
- 'X', 'Y', 'Z', '-', '.', ' ', '*', '$', '/', '+', '%'
-]
-
-_extended = {
- '\0': "%U", '\01': "$A", '\02': "$B", '\03': "$C",
- '\04': "$D", '\05': "$E", '\06': "$F", '\07': "$G",
- '\010': "$H", '\011': "$I", '\012': "$J", '\013': "$K",
- '\014': "$L", '\015': "$M", '\016': "$N", '\017': "$O",
- '\020': "$P", '\021': "$Q", '\022': "$R", '\023': "$S",
- '\024': "$T", '\025': "$U", '\026': "$V", '\027': "$W",
- '\030': "$X", '\031': "$Y", '\032': "$Z", '\033': "%A",
- '\034': "%B", '\035': "%C", '\036': "%D", '\037': "%E",
- '!': "/A", '"': "/B", '#': "/C", '$': "/D",
- '%': "/E", '&': "/F", '\'': "/G", '(': "/H",
- ')': "/I", '*': "/J", '+': "/K", ',': "/L",
- '/': "/O", ':': "/Z", ';': "%F", '<': "%G",
- '=': "%H", '>': "%I", '?': "%J", '@': "%V",
- '[': "%K", '\\': "%L", ']': "%M", '^': "%N",
- '_': "%O", '`': "%W", 'a': "+A", 'b': "+B",
- 'c': "+C", 'd': "+D", 'e': "+E", 'f': "+F",
- 'g': "+G", 'h': "+H", 'i': "+I", 'j': "+J",
- 'k': "+K", 'l': "+L", 'm': "+M", 'n': "+N",
- 'o': "+O", 'p': "+P", 'q': "+Q", 'r': "+R",
- 's': "+S", 't': "+T", 'u': "+U", 'v': "+V",
- 'w': "+W", 'x': "+X", 'y': "+Y", 'z': "+Z",
- '{': "%P", '|': "%Q", '}': "%R", '~': "%S",
- '\177': "%T"
-}
-
-
-_stdchrs = string.digits + string.uppercase + "-. *$/+%"
-_extchrs = _stdchrs + string.lowercase + \
- "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017" + \
- "\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" + \
- "!'#&\"(),:;<=>?@[\\]^_`{|}~\177"
-
-
-def _encode39(str, cksum):
- newval = "*"
- v = 0
- for c in str:
- v = v + _patterns[c][1]
- newval = newval + c
- v = v % 43
- if cksum:
- newval = newval + _valchars[v]
- return newval + '*'
-
-
-class _Code39Base(Barcode):
- def __init__(self, value = "", **args):
- self.xdim = inch * 0.0075
- self.lquiet = None
- self.rquiet = None
- self.quiet = 1
- self.gap = None
- self.height = None
- self.ratio = 2.2
- self.checksum = 0
- self.bearers = 0.0
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- if self.quiet:
- if self.lquiet is None:
- self.lquiet = max(inch * 0.25, self.xdim * 10.0)
- self.rquiet = max(inch * 0.25, self.xdim * 10.0)
- else:
- self.lquiet = self.rquiet = 0.0
-
- Barcode.__init__(self, value)
-
- def decompose(self):
- dval = ""
- for c in self.encoded:
- dval = dval + _patterns[c][0] + 'i'
- self.decomposed = dval[:-1]
- return self.decomposed
-
-
-class Standard39(_Code39Base):
- """
- Interleaved 2 of 5 is a numeric-only barcode. It encodes an even
- number of digits; if an odd number is given, a 0 is prepended.
-
- Options that may be passed to constructor:
-
- value (int, or numeric string. required.):
- The value to encode.
-
- xdim (float, default .0075):
- X-Dimension, or width of the smallest element
- Minumum is .0075 inch (7.5 mils).
-
- ratio (float, default 2.2):
- The ratio of wide elements to narrow elements.
- Must be between 2.0 and 3.0 (or 2.2 and 3.0 if the
- xdim is greater than 20 mils (.02 inch))
-
- gap (float or None, default None):
- width of intercharacter gap. None means "use xdim".
-
- height (float, see default below):
- Height of the symbol. Default is the height of the two
- bearer bars (if they exist) plus the greater of .25 inch
- or .15 times the symbol's length.
-
- checksum (bool, default 0):
- Wether to compute and include the check digit
-
- bearers (float, in units of xdim. default 0):
- Height of bearer bars (horizontal bars along the top and
- bottom of the barcode). Default is 0 (no bearers).
-
- quiet (bool, default 1):
- Wether to include quiet zones in the symbol.
-
- lquiet (float, see default below):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or .15 times the symbol's
- length.
-
- rquiet (float, defaults as above):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of Information on Code 39:
-
- http://www.semiconductor.agilent.com/barcode/sg/Misc/code_39.html
- http://www.adams1.com/pub/russadam/39code.html
- http://www.barcodeman.com/c39_1.html
-
- Official Spec, "ANSI/AIM BC1-1995, USS" is available for US$45 from
- http://www.aimglobal.org/aimstore/
- """
-
- def validate(self):
- vval = ""
- self.valid = 1
- for c in self.value:
- if c in string.lowercase:
- c = string.upper(c)
- if c not in _stdchrs:
- self.valid = 0
- continue
- vval = vval + c
- self.validated = vval
- return vval
-
- def encode(self):
- self.encoded = _encode39(self.validated, self.checksum)
- return self.encoded
-
-
-class Extended39(_Code39Base):
- """
- Extended Code 39 is a convention for encoding additional characters
- not present in stanmdard Code 39 by using pairs of characters to
- represent the characters missing in Standard Code 39.
-
- See Standard39 for arguments.
-
- Sources of Information on Extended Code 39:
-
- http://www.semiconductor.agilent.com/barcode/sg/Misc/xcode_39.html
- http://www.barcodeman.com/c39_ext.html
- """
-
- def validate(self):
- vval = ""
- self.valid = 1
- for c in self.value:
- if c not in _extchrs:
- self.valid = 0
- continue
- vval = vval + c
- self.validated = vval
- return vval
-
- def encode(self):
- self.encoded = ""
- for c in self.validated:
- if _extended.has_key(c):
- self.encoded = self.encoded + _extended[c]
- elif c in _stdchrs:
- self.encoded = self.encoded + c
- else:
- raise ValueError
- self.encoded = _encode39(self.encoded, self.checksum)
- return self.encoded
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/barcode/code93.py b/addons/auction/barcode/code93.py
deleted file mode 100644
index 697841092a1..00000000000
--- a/addons/auction/barcode/code93.py
+++ /dev/null
@@ -1,234 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2000 Tyler C. Sarna
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Tyler C. Sarna.
-# 4. Neither the name of the author nor the names of contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-from reportlab.lib.units import inch
-from common import MultiWidthBarcode
-import string
-
-_patterns = {
- '0' : ('AcAaAb', 0), '1' : ('AaAbAc', 1), '2' : ('AaAcAb', 2),
- '3' : ('AaAdAa', 3), '4' : ('AbAaAc', 4), '5' : ('AbAbAb', 5),
- '6' : ('AbAcAa', 6), '7' : ('AaAaAd', 7), '8' : ('AcAbAa', 8),
- '9' : ('AdAaAa', 9), 'A' : ('BaAaAc', 10), 'B' : ('BaAbAb', 11),
- 'C' : ('BaAcAa', 12), 'D' : ('BbAaAb', 13), 'E' : ('BbAbAa', 14),
- 'F' : ('BcAaAa', 15), 'G' : ('AaBaAc', 16), 'H' : ('AaBbAb', 17),
- 'I' : ('AaBcAa', 18), 'J' : ('AbBaAb', 19), 'K' : ('AcBaAa', 20),
- 'L' : ('AaAaBc', 21), 'M' : ('AaAbBb', 22), 'N' : ('AaAcBa', 23),
- 'O' : ('AbAaBb', 24), 'P' : ('AcAaBa', 25), 'Q' : ('BaBaAb', 26),
- 'R' : ('BaBbAa', 27), 'S' : ('BaAaBb', 28), 'T' : ('BaAbBa', 29),
- 'U' : ('BbAaBa', 30), 'V' : ('BbBaAa', 31), 'W' : ('AaBaBb', 32),
- 'X' : ('AaBbBa', 33), 'Y' : ('AbBaBa', 34), 'Z' : ('AbCaAa', 35),
- '-' : ('AbAaCa', 36), '.' : ('CaAaAb', 37), ' ' : ('CaAbAa', 38),
- '$' : ('CbAaAa', 39), '/' : ('AaBaCa', 40), '+' : ('AaCaBa', 41),
- '%' : ('BaAaCa', 42), '#' : ('AbAbBa', 43), '!' : ('CaBaAa', 44),
- '=' : ('CaAaBa', 45), '&' : ('AbBbAa', 46),
- 'start' : ('AaAaDa', -1), 'stop' : ('AaAaDaA', -2)
-}
-
-_charsbyval = {}
-for k, v in _patterns.items():
- _charsbyval[v[1]] = k
-
-_extended = {
- '\x00' : '!U', '\x01' : '#A', '\x02' : '#B', '\x03' : '#C',
- '\x04' : '#D', '\x05' : '#E', '\x06' : '#F', '\x07' : '#G',
- '\x08' : '#H', '\x09' : '#I', '\x0a' : '#J', '\x0b' : '#K',
- '\x0c' : '#L', '\x0d' : '#M', '\x0e' : '#N', '\x0f' : '#O',
- '\x10' : '#P', '\x11' : '#Q', '\x12' : '#R', '\x13' : '#S',
- '\x14' : '#T', '\x15' : '#U', '\x16' : '#V', '\x17' : '#W',
- '\x18' : '#X', '\x19' : '#Y', '\x1a' : '#Z', '\x1b' : '!A',
- '\x1c' : '!B', '\x1d' : '!C', '\x1e' : '!D', '\x1f' : '!E',
- '!' : '=A', '"' : '=B', '#' : '=C', '$' : '=D',
- '%' : '=E', '&' : '=F', '\'' : '=G', '(' : '=H',
- ')' : '=I', '*' : '=J', '+' : '=K', ',' : '=L',
- '/' : '=O', ':' : '=Z', ';' : '!F', '<' : '!G',
- '=' : '!H', '>' : '!I', '?' : '!J', '@' : '!V',
- '[' : '!K', '\\' : '!L', ']' : '!M', '^' : '!N',
- '_' : '!O', '`' : '!W', 'a' : '&A', 'b' : '&B',
- 'c' : '&C', 'd' : '&D', 'e' : '&E', 'f' : '&F',
- 'g' : '&G', 'h' : '&H', 'i' : '&I', 'j' : '&J',
- 'k' : '&K', 'l' : '&L', 'm' : '&M', 'n' : '&N',
- 'o' : '&O', 'p' : '&P', 'q' : '&Q', 'r' : '&R',
- 's' : '&S', 't' : '&T', 'u' : '&U', 'v' : '&V',
- 'w' : '&W', 'x' : '&X', 'y' : '&Y', 'z' : '&Z',
- '{' : '!P', '|' : '!Q', '}' : '!R', '~' : '!S',
- '\x7f' : '!T'
-}
-
-
-def _encode93(str):
- s = map(None, str)
- s.reverse()
-
- # compute 'C' checksum
- i = 0; v = 1; c = 0
- while i < len(s):
- c = c + v * _patterns[s[i]][1]
- i = i + 1; v = v + 1
- if v > 20:
- v = 1
- s.insert(0, _charsbyval[c % 47])
-
- # compute 'K' checksum
- i = 0; v = 1; c = 0
- while i < len(s):
- c = c + v * _patterns[s[i]][1]
- i = i + 1; v = v + 1
- if v > 15:
- v = 1
- s.insert(0, _charsbyval[c % 47])
-
- s.reverse()
-
- return string.join(s, '')
-
-
-class _Code93Base(MultiWidthBarcode):
- def __init__(self, value='', **args):
- self.xdim = inch * 0.0075
- self.lquiet = None
- self.rquiet = None
- self.quiet = 1
- self.height = None
-
- if type(value) is type(1):
- value = str(value)
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- if self.quiet:
- if self.lquiet is None:
- self.lquiet = max(inch * 0.25, self.xdim * 10.0)
- self.rquiet = max(inch * 0.25, self.xdim * 10.0)
- else:
- self.lquiet = self.rquiet = 0.0
-
- MultiWidthBarcode.__init__(self, value)
-
- def decompose(self):
- dval = _patterns['start'][0]
- for c in self.encoded:
- dval = dval + _patterns[c][0]
- self.decomposed = dval + _patterns['stop'][0]
- return self.decomposed
-
-
-class Standard93(_Code93Base):
- """
- Code 93 is a Uppercase alphanumeric symbology with some punctuation.
- See Extended Code 93 for a variant that can represent the entire
- 128 characrter ASCII set.
-
- Options that may be passed to constructor:
-
- value (int, or numeric string. required.):
- The value to encode.
-
- xdim (float, default .0075):
- X-Dimension, or width of the smallest element
- Minumum is .0075 inch (7.5 mils).
-
- height (float, see default below):
- Height of the symbol. Default is the height of the two
- bearer bars (if they exist) plus the greater of .25 inch
- or .15 times the symbol's length.
-
- quiet (bool, default 1):
- Wether to include quiet zones in the symbol.
-
- lquiet (float, see default below):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or 10 xdim
-
- rquiet (float, defaults as above):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of Information on Code 93:
-
- http://www.semiconductor.agilent.com/barcode/sg/Misc/code_93.html
-
- Official Spec, "NSI/AIM BC5-1995, USS" is available for US$45 from
- http://www.aimglobal.org/aimstore/
- """
-
- def validate(self):
- vval = ""
- self.valid = 1
- for c in self.value:
- if c in string.lowercase:
- c = string.upper(c)
- if not _patterns.has_key(c):
- self.valid = 0
- continue
- vval = vval + c
- self.validated = vval
- return vval
-
- def encode(self):
- self.encoded = _encode93(self.validated)
- return self.encoded
-
-
-class Extended93(_Code93Base):
- """
- Extended Code 93 is a convention for encoding the entire 128 character
- set using pairs of characters to represent the characters missing in
- Standard Code 93. It is very much like Extended Code 39 in that way.
-
- See Standard93 for arguments.
- """
-
- def validate(self):
- vval = ""
- self.valid = 1
- for c in self.value:
- if not _patterns.has_key(c) and not _extended.has_key(c):
- self.valid = 0
- continue
- vval = vval + c
- self.validated = vval
- return vval
-
- def encode(self):
- self.encoded = ""
- for c in self.validated:
- if _patterns.has_key(c):
- self.encoded = self.encoded + c
- elif _extended.has_key(c):
- self.encoded = self.encoded + _extended[c]
- else:
- raise ValueError
- self.encoded = _encode93(self.encoded)
- return self.encoded
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/barcode/common.py b/addons/auction/barcode/common.py
deleted file mode 100644
index e6933fd1673..00000000000
--- a/addons/auction/barcode/common.py
+++ /dev/null
@@ -1,707 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 1996-2000 Tyler C. Sarna
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Tyler C. Sarna.
-# 4. Neither the name of the author nor the names of contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-from reportlab.platypus.flowables import Flowable
-from reportlab.lib.units import inch
-import string
-
-class Barcode(Flowable):
- """Abstract Base for barcodes. Includes implementations of
- some methods suitable for the more primitive barcode types"""
-
- def __init__(self, value = ''):
- self.value = value
-
- if not hasattr(self, 'gap'):
- self.gap = None
-
- self.validate()
- self.encode()
- #print self.encoded
- self.decompose()
- #print self.decomposed
- self.computeSize()
-
- def validate(self):
- self.valid = 1
- self.validated = self.value
-
- def encode(self):
- self.encoded = self.validated
-
- def decompose(self):
- self.decomposed = self.encoded
-
- def computeSize(self, *args):
- xdim = self.xdim
- wx = xdim * self.ratio
-
- if self.gap == None:
- self.gap = xdim
-
- w = 0.0
-
- for c in self.decomposed:
- if c in 'sb':
- w = w + xdim
- elif c in 'SB':
- w = w + wx
- else: # 'i'
- w = w + self.gap
-
- if self.height is None:
- self.height = w * 0.15
- self.height = max(0.25 * inch, self.height)
- if self.bearers:
- self.height = self.height + self.bearers * 2.0 * xdim
-
- if self.quiet:
- w = w + self.lquiet + self.rquiet
- self.xo = self.lquiet
- else:
- self.xo = 0.0
-
- self.width = w
-
- def draw(self):
- xdim = self.xdim
- wx = xdim * self.ratio
-
- left = self.xo
- b = self.bearers * xdim
- bb = b * 0.5
- tb = self.height - (b * 1.5)
-
- for c in self.decomposed:
- if c == 'i':
- left = left + self.gap
- elif c == 's':
- left = left + xdim
- elif c == 'S':
- left = left + wx
- elif c == 'b':
- self.rect(left, bb, xdim, tb)
- left = left + xdim
- elif c == 'B':
- self.rect(left, bb, wx, tb)
- left = left + wx
-
- if self.bearers:
- self.rect(self.lquiet, 0.0, \
- self.width - (self.lquiet + self.rquiet), b)
- self.rect(self.lquiet, self.height - b, \
- self.width - (self.lquiet + self.rquiet), b)
-
- def rect(self, x, y, w, h):
- self.canv.rect(x, y, w, h, stroke=0, fill=1)
-
-
-class MultiWidthBarcode(Barcode):
- """Base for variable-bar-width codes like Code93 and Code128"""
-
- def computeSize(self, *args):
- xdim = self.xdim
- oa, oA = ord('a') - 1, ord('A') - 1
-
- w = 0.0
-
- for c in self.decomposed:
- oc = ord(c)
- if c in string.lowercase:
- w = w + xdim * (oc - oa)
- elif c in string.uppercase:
- w = w + xdim * (oc - oA)
-
- if self.height is None:
- self.height = w * 0.15
- self.height = max(0.25 * inch, self.height)
-
- if self.quiet:
- w = w + self.lquiet + self.rquiet
- self.xo = self.lquiet
- else:
- self.xo = 0.0
-
- self.width = w
-
- def draw(self):
- oa, oA = ord('a') - 1, ord('A') - 1
- xdim = self.xdim
- left = self.xo
-
- for c in self.decomposed:
- oc = ord(c)
- if c in string.lowercase:
- left = left + (oc - oa) * xdim
- elif c in string.uppercase:
- w = (oc - oA) * xdim
- self.rect(left, 0.0, w, self.height)
- left = left + w
-
-
-class I2of5(Barcode):
- """
- Interleaved 2 of 5 is a numeric-only barcode. It encodes an even
- number of digits; if an odd number is given, a 0 is prepended.
-
- Options that may be passed to constructor:
-
- value (int, or numeric string. required.):
- The value to encode.
-
- xdim (float, default .0075):
- X-Dimension, or width of the smallest element
- Minumum is .0075 inch (7.5 mils).
-
- ratio (float, default 2.2):
- The ratio of wide elements to narrow elements.
- Must be between 2.0 and 3.0 (or 2.2 and 3.0 if the
- xdim is greater than 20 mils (.02 inch))
-
- gap (float or None, default None):
- width of intercharacter gap. None means "use xdim".
-
- height (float, see default below):
- Height of the symbol. Default is the height of the two
- bearer bars (if they exist) plus the greater of .25 inch
- or .15 times the symbol's length.
-
- checksum (bool, default 1):
- Wether to compute and include the check digit
-
- bearers (float, in units of xdim. default 3.0):
- Height of bearer bars (horizontal bars along the top and
- bottom of the barcode). Default is 3 x-dimensions.
- Set to zero for no bearer bars. (Bearer bars help detect
- misscans, so it is suggested to leave them on).
-
- quiet (bool, default 1):
- Wether to include quiet zones in the symbol.
-
- lquiet (float, see default below):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or .15 times the symbol's
- length.
-
- rquiet (float, defaults as above):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of Information on Interleaved 2 of 5:
-
- http://www.semiconductor.agilent.com/barcode/sg/Misc/i_25.html
- http://www.adams1.com/pub/russadam/i25code.html
-
- Official Spec, "ANSI/AIM BC2-1995, USS" is available for US$45 from
- http://www.aimglobal.org/aimstore/
- """
-
- patterns = {
- 'start' : 'bsbs',
- 'stop' : 'Bsb',
-
- 'B0' : 'bbBBb', 'S0' : 'ssSSs',
- 'B1' : 'BbbbB', 'S1' : 'SsssS',
- 'B2' : 'bBbbB', 'S2' : 'sSssS',
- 'B3' : 'BBbbb', 'S3' : 'SSsss',
- 'B4' : 'bbBbB', 'S4' : 'ssSsS',
- 'B5' : 'BbBbb', 'S5' : 'SsSss',
- 'B6' : 'bBBbb', 'S6' : 'sSSss',
- 'B7' : 'bbbBB', 'S7' : 'sssSS',
- 'B8' : 'BbbBb', 'S8' : 'SssSs',
- 'B9' : 'bBbBb', 'S9' : 'sSsSs'
- }
-
- def __init__(self, value='', **args):
- self.height = None
- self.xdim = inch * 0.0075
- self.ratio = 2.2
- self.checksum = 1
- self.bearers = 3.0
- self.quiet = 1
- self.lquiet = self.rquiet = None
-
- if type(value) == type(1):
- value = str(value)
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- if self.quiet:
- if self.lquiet is None:
- self.lquiet = min(inch * 0.25, self.xdim * 10.0)
- self.rquiet = min(inch * 0.25, self.xdim * 10.0)
- else:
- self.lquiet = self.rquiet = 0.0
-
- Barcode.__init__(self, value)
-
- def validate(self):
- vval = ""
- self.valid = 1
- for c in string.strip(self.value):
- if c not in string.digits:
- self.valid = 0
- continue
- vval = vval + c
- self.validated = vval
- return vval
-
- def encode(self):
- s = self.validated
-
- # make sure result will be a multiple of 2 digits long,
- # checksum included
- if ((len(self.validated) % 2 == 0) and self.checksum) \
- or ((len(self.validated) % 2 == 1) and not self.checksum):
- s = '0' + s
-
- if self.checksum:
- c = 0
- cm = 3
-
- for d in s:
- c = c + cm * int(d)
- if cm == 3:
- cm = 1
- else:
- cm = 3
-
- d = 10 - (int(d) % 10)
- s = s + `d`
-
- self.encoded = s
-
- def decompose(self):
- dval = self.patterns['start']
-
- for i in range(0, len(self.encoded), 2):
- b = self.patterns['B' + self.encoded[i]]
- s = self.patterns['S' + self.encoded[i+1]]
-
- for i in range(0, len(b)):
- dval = dval + b[i] + s[i]
-
- self.decomposed = dval + self.patterns['stop']
- return self.decomposed
-
-
-
-class MSI(Barcode):
- """
- MSI is a numeric-only barcode.
-
- Options that may be passed to constructor:
-
- value (int, or numeric string. required.):
- The value to encode.
-
- xdim (float, default .0075):
- X-Dimension, or width of the smallest element
-
- ratio (float, default 2.2):
- The ratio of wide elements to narrow elements.
-
- gap (float or None, default None):
- width of intercharacter gap. None means "use xdim".
-
- height (float, see default below):
- Height of the symbol. Default is the height of the two
- bearer bars (if they exist) plus the greater of .25 inch
- or .15 times the symbol's length.
-
- checksum (bool, default 1):
- Wether to compute and include the check digit
-
- bearers (float, in units of xdim. default 0):
- Height of bearer bars (horizontal bars along the top and
- bottom of the barcode). Default is 0 (no bearers).
-
- lquiet (float, see default below):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or 10 xdims.
-
- rquiet (float, defaults as above):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of Information on MSI Bar Code:
-
- http://www.semiconductor.agilent.com/barcode/sg/Misc/msi_code.html
- http://www.adams1.com/pub/russadam/plessy.html
- """
-
- patterns = {
- 'start' : 'Bs', 'stop' : 'bSb',
-
- '0' : 'bSbSbSbS', '1' : 'bSbSbSBs',
- '2' : 'bSbSBsbS', '3' : 'bSbSBsBs',
- '4' : 'bSBsbSbS', '5' : 'bSBsbSBs',
- '6' : 'bSBsBsbS', '7' : 'bSBsBsBs',
- '8' : 'BsbSbSbS', '9' : 'BsbSbSBs'
- }
-
- def __init__(self, value="", **args):
- self.height = None
- self.xdim = inch * 0.0075
- self.ratio = 2.2
- self.checksum = 1
- self.bearers = 0.0
- self.quiet = 1
- self.lquiet = self.rquiet = None
-
- if type(value) == type(1):
- value = str(value)
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- if self.quiet:
- if self.lquiet is None:
- self.lquiet = max(inch * 0.25, self.xdim * 10.0)
- self.rquiet = max(inch * 0.25, self.xdim * 10.0)
- else:
- self.lquiet = self.rquiet = 0.0
-
- Barcode.__init__(self, value)
-
- def validate(self):
- vval = ""
- self.valid = 1
- for c in string.strip(self.value):
- if c not in string.digits:
- self.valid = 0
- continue
- vval = vval + c
- self.validated = vval
- return vval
-
- def encode(self):
- s = self.validated
-
- if self.checksum:
- c = ''
- for i in range(1, len(s), 2):
- c = c + s[i]
- d = str(int(c) * 2)
- t = 0
- for c in d:
- t = t + int(c)
- for i in range(0, len(s), 2):
- t = t + int(s[i])
- c = 10 - (t % 10)
-
- s = s + str(c)
-
- self.encoded = s
-
- def decompose(self):
- dval = self.patterns['start']
-
- for c in self.encoded:
- dval = dval + self.patterns[c]
-
- self.decomposed = dval + self.patterns['stop']
- return self.decomposed
-
-
-
-class Codabar(Barcode):
- """
- Codabar is a numeric plus some puntuation ("-$:/.+") barcode
- with four start/stop characters (A, B, C, and D).
-
- Options that may be passed to constructor:
-
- value (string. required.):
- The value to encode.
-
- xdim (float, default .0065):
- X-Dimension, or width of the smallest element
- minimum is 6.5 mils (.0065 inch)
-
- ratio (float, default 2.0):
- The ratio of wide elements to narrow elements.
-
- gap (float or None, default None):
- width of intercharacter gap. None means "use xdim".
-
- height (float, see default below):
- Height of the symbol. Default is the height of the two
- bearer bars (if they exist) plus the greater of .25 inch
- or .15 times the symbol's length.
-
- checksum (bool, default 0):
- Wether to compute and include the check digit
-
- bearers (float, in units of xdim. default 0):
- Height of bearer bars (horizontal bars along the top and
- bottom of the barcode). Default is 0 (no bearers).
-
- quiet (bool, default 1):
- Wether to include quiet zones in the symbol.
-
- lquiet (float, see default below):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or 10 xdim
-
- rquiet (float, defaults as above):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of Information on Codabar
-
- http://www.semiconductor.agilent.com/barcode/sg/Misc/codabar.html
- http://www.barcodeman.com/codabar.html
-
- Official Spec, "ANSI/AIM BC3-1995, USS" is available for US$45 from
- http://www.aimglobal.org/aimstore/
- """
-
- patterns = {
- '0': 'bsbsbSB', '1': 'bsbsBSb', '2': 'bsbSbsB',
- '3': 'BSbsbsb', '4': 'bsBsbSb', '5': 'BsbsbSb',
- '6': 'bSbsbsB', '7': 'bSbsBsb', '8': 'bSBsbsb',
- '9': 'BsbSbsb', '-': 'bsbSBsb', '$': 'bsBSbsb',
- ':': 'BsbsBsB', '/': 'BsBsbsB', '.': 'BsBsBsb',
- '+': 'bsBsBsB', 'A': 'bsBSbSb', 'B': 'bSbSbsB',
- 'C': 'bsbSbSB', 'D': 'bsbSBSb'
- }
-
- values = {
- '0' : 0, '1' : 1, '2' : 2, '3' : 3, '4' : 4,
- '5' : 5, '6' : 6, '7' : 7, '8' : 8, '9' : 9,
- '-' : 10, '$' : 11, ':' : 12, '/' : 13, '.' : 14,
- '+' : 15, 'A' : 16, 'B' : 17, 'C' : 18, 'D' : 19
- }
-
- chars = string.digits + "-$:/.+"
-
- def __init__(self, value='', **args):
- self.height = None
- self.xdim = inch * 0.0065
- self.ratio = 2.0 # XXX ?
- self.checksum = 0
- self.bearers = 0.0
- self.quiet = 1
- self.lquiet = self.rquiet = None
-
- if type(value) == type(1):
- value = str(value)
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- if self.quiet:
- if self.lquiet is None:
- self.lquiet = min(inch * 0.25, self.xdim * 10.0)
- self.rquiet = min(inch * 0.25, self.xdim * 10.0)
- else:
- self.lquiet = self.rquiet = 0.0
-
- Barcode.__init__(self, value)
-
- def validate(self):
- vval = ""
- self.valid = 1
- s = string.strip(self.value)
- for i in range(0, len(s)):
- c = s[i]
- if c not in self.chars:
- if ((i != 0) and (i != len(s) - 1)) or (c not in 'ABCD'):
- self.Valid = 0
- continue
- vval = vval + c
-
- if vval[0] not in 'ABCD':
- vval = 'A' + vval
- if vval[-1] not in 'ABCD':
- vval = vval + vval[0]
-
- self.validated = vval
- return vval
-
- def encode(self):
- s = self.validated
-
- if self.checksum:
- v = 0
- for c in s:
- v = v + self.values[v]
- v = 16 - (v % 16)
- s = s + self.chars[v]
-
- self.encoded = s
-
- def decompose(self):
- dval = ""
- for c in self.encoded:
- dval = dval + self.patterns[c] + 'i'
- self.decomposed = dval[:-1]
- return self.decomposed
-
-
-
-class Code11(Barcode):
- """
- Code 11 is an almost-numeric barcode. It encodes the digits 0-9 plus
- dash ("-"). 11 characters total, hence the name.
-
- value (int or string. required.):
- The value to encode.
-
- xdim (float, default .0075):
- X-Dimension, or width of the smallest element
-
- ratio (float, default 2.2):
- The ratio of wide elements to narrow elements.
-
- gap (float or None, default None):
- width of intercharacter gap. None means "use xdim".
-
- height (float, see default below):
- Height of the symbol. Default is the height of the two
- bearer bars (if they exist) plus the greater of .25 inch
- or .15 times the symbol's length.
-
- checksum (0 none, 1 1-digit, 2 2-digit, -1 auto, default -1):
- How many checksum digits to include. -1 ("auto") means
- 1 if the number of digits is 10 or less, else 2.
-
- bearers (float, in units of xdim. default 0):
- Height of bearer bars (horizontal bars along the top and
- bottom of the barcode). Default is 0 (no bearers).
-
- quiet (bool, default 1):
- Wether to include quiet zones in the symbol.
-
- lquiet (float, see default below):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or 10 xdim
-
- rquiet (float, defaults as above):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of Information on Code 11:
-
- http://www.cwi.nl/people/dik/english/codes/barcodes.html
- """
-
- chars = string.digits + '-'
-
- patterns = {
- '0' : 'bsbsB', '1' : 'BsbsB', '2' : 'bSbsB',
- '3' : 'BSbsb', '4' : 'bsBsB', '5' : 'BsBsb',
- '6' : 'bSBsb', '7' : 'bsbSB', '8' : 'BsbSb',
- '9' : 'Bsbsb', '-' : 'bsBsb', 'S' : 'bsBSb' # Start/Stop
- }
-
- values = {
- '0' : 0, '1' : 1, '2' : 2, '3' : 3, '4' : 4,
- '5' : 5, '6' : 6, '7' : 7, '8' : 8, '9' : 9,
- '-' : 10,
- }
-
- def __init__(self, value='', **args):
- self.height = None
- self.xdim = inch * 0.0075
- self.ratio = 2.2 # XXX ?
- self.checksum = -1 # Auto
- self.bearers = 0.0
- self.quiet = 1
- self.lquiet = self.rquiet = None
-
- if type(value) == type(1):
- value = str(value)
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- if self.quiet:
- if self.lquiet is None:
- self.lquiet = min(inch * 0.25, self.xdim * 10.0)
- self.rquiet = min(inch * 0.25, self.xdim * 10.0)
- else:
- self.lquiet = self.rquiet = 0.0
-
- Barcode.__init__(self, value)
-
- def validate(self):
- vval = ""
- self.valid = 1
- s = string.strip(self.value)
- for i in range(0, len(s)):
- c = s[i]
- if c not in self.chars:
- self.Valid = 0
- continue
- vval = vval + c
-
- self.validated = vval
- return vval
-
- def encode(self):
- s = self.validated
-
- if self.checksum == -1:
- if len(s) <= 10:
- self.checksum = 1
- else:
- self.checksum = 2
-
- if self.checksum > 0:
- # compute first checksum
- i = 0; v = 1; c = 0
- while i < len(s):
- c = c + v * string.index(self.chars, s[-(i+1)])
- i = i + 1; v = v + 1
- if v > 10:
- v = 1
- s = s + self.chars[c % 11]
-
- if self.checksum > 1:
- # compute second checksum
- i = 0; v = 1; c = 0
- while i < len(s):
- c = c + v * string.index(self.chars, s[-(i+1)])
- i = i + 1; v = v + 1
- if v > 9:
- v = 1
- s = s + self.chars[c % 10]
-
- self.encoded = 'S' + s + 'S'
-
- def decompose(self):
- dval = ""
- for c in self.encoded:
- dval = dval + self.patterns[c] + 'i'
- self.decomposed = dval[:-1]
- return self.decomposed
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/barcode/fourstate.py b/addons/auction/barcode/fourstate.py
deleted file mode 100644
index 831c878b9d1..00000000000
--- a/addons/auction/barcode/fourstate.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2000 Tyler C. Sarna
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Tyler C. Sarna.
-# 4. Neither the name of the author nor the names of contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-from reportlab.lib.units import inch
-from common import Barcode
-import string
-
-# . 3 T Tracker
-# , 2 D Descender
-# ' 1 A Ascender
-# | 0 H Ascender/Descender
-
-_rm_patterns = {
- "0" : "--||", "1" : "-',|", "2" : "-'|,", "3" : "'-,|",
- "4" : "'-|,", "5" : "'',,", "6" : "-,'|", "7" : "-|-|",
- "8" : "-|',", "9" : "',-|", "A" : "',',", "B" : "'|-,",
- "C" : "-,|'", "D" : "-|,'", "E" : "-||-", "F" : "',,'",
- "G" : "',|-", "H" : "'|,-", "I" : ",-'|", "J" : ",'-|",
- "K" : ",'',", "L" : "|--|", "M" : "|-',", "N" : "|'-,",
- "O" : ",-|'", "P" : ",','", "Q" : ",'|-", "R" : "|-,'",
- "S" : "|-|-", "T" : "|',-", "U" : ",,''", "V" : ",|-'",
- "W" : ",|'-", "X" : "|,-'", "Y" : "|,'-", "Z" : "||--",
-
- # start, stop
- "(" : "'-,'", ")" : "'|,|"
-}
-
-_ozN_patterns = {
- "0" : "||", "1" : "|'", "2" : "|,", "3" : "'|", "4" : "''",
- "5" : "',", "6" : ",|", "7" : ",'", "8" : ",,", "9" : ".|"
-}
-
-_ozC_patterns = {
- "A" : "|||", "B" : "||'", "C" : "||,", "D" : "|'|",
- "E" : "|''", "F" : "|',", "G" : "|,|", "H" : "|,'",
- "I" : "|,,", "J" : "'||", "K" : "'|'", "L" : "'|,",
- "M" : "''|", "N" : "'''", "O" : "'',", "P" : "',|",
- "Q" : "','", "R" : "',,", "S" : ",||", "T" : ",|'",
- "U" : ",|,", "V" : ",'|", "W" : ",''", "X" : ",',",
- "Y" : ",,|", "Z" : ",,'", "a" : "|,.", "b" : "|.|",
- "c" : "|.'", "d" : "|.,", "e" : "|..", "f" : "'|.",
- "g" : "''.", "h" : "',.", "i" : "'.|", "j" : "'.'",
- "k" : "'.,", "l" : "'..", "m" : ",|.", "n" : ",'.",
- "o" : ",,.", "p" : ",.|", "q" : ",.'", "r" : ",.,",
- "s" : ",..", "t" : ".|.", "u" : ".'.", "v" : ".,.",
- "w" : "..|", "x" : "..'", "y" : "..,", "z" : "...",
- "0" : ",,,", "1" : ".||", "2" : ".|'", "3" : ".|,",
- "4" : ".'|", "5" : ".''", "6" : ".',", "7" : ".,|",
- "8" : ".,'", "9" : ".,,", " " : "||.", "#" : "|'.",
-}
-
-#http://www.auspost.com.au/futurepost/
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/barcode/out.pdf b/addons/auction/barcode/out.pdf
deleted file mode 100644
index 52fafaae499..00000000000
Binary files a/addons/auction/barcode/out.pdf and /dev/null differ
diff --git a/addons/auction/barcode/test.py b/addons/auction/barcode/test.py
deleted file mode 100644
index 068562c75bd..00000000000
--- a/addons/auction/barcode/test.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# -*- coding: utf-8 -*-
-#!/usr/bin/python
-from common import *
-from code39 import *
-from code93 import *
-from code128 import *
-from usps import *
-
-from reportlab.pdfgen.canvas import Canvas
-from reportlab.lib.styles import getSampleStyleSheet
-from reportlab.platypus import Paragraph, Frame
-from reportlab.platypus.flowables import XBox
-def run():
- styles = getSampleStyleSheet()
- styleN = styles['Normal']
- styleH = styles['Heading1']
- story = []
-
- story.append(Paragraph('I2of5', styleN))
- story.append(I2of5(1234, xdim = inch*0.02, checksum=0))
- story.append(Paragraph('MSI', styleN))
- story.append(MSI(1234, xdim = inch*0.02))
- story.append(Paragraph('Codabar', styleN))
- story.append(Codabar("A012345B", xdim = inch*0.02))
- story.append(Paragraph('Code 11', styleN))
- story.append(Code11("01234545634563"))
- story.append(Paragraph('Code 39', styleN))
- story.append(Standard39("A012345B%R"))
- story.append(Paragraph('Extended Code 39', styleN))
- story.append(Extended39("A012345B}"))
- story.append(Paragraph('Code93', styleN))
- story.append(Standard93("CODE 93"))
- story.append(Paragraph('Extended Code93', styleN))
- story.append(Extended93("L@@K! Code 93 :-)")) #, xdim=0.005 * inch))
- story.append(Paragraph('Code 128', styleN))
- c=Code128("AB-12345678") #, xdim=0.005 * inch)
- story.append(c)
- story.append(Paragraph('USPS FIM', styleN))
- story.append(FIM("A"))
- story.append(Paragraph('USPS POSTNET', styleN))
- story.append(POSTNET('78247-1043'))
- story.append(Paragraph('Label Size', styleN))
- story.append(XBox((2.0 + 5.0/8.0)*inch, 1 * inch, '1x2-5/8"'))
- story.append(Paragraph('Label Size', styleN))
- story.append(XBox((1.75)*inch, .5 * inch, '1/2x1-3/4"'))
- c = Canvas('out.pdf')
- f = Frame(inch, inch, 6*inch, 9*inch, showBoundary=1)
- f.addFromList(story, c)
- c.save()
-
-if __name__=='__main__':
- run()
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/barcode/usps.py b/addons/auction/barcode/usps.py
deleted file mode 100644
index 9235f42a1ce..00000000000
--- a/addons/auction/barcode/usps.py
+++ /dev/null
@@ -1,233 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 1996-2000 Tyler C. Sarna
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Tyler C. Sarna.
-# 4. Neither the name of the author nor the names of contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-from reportlab.lib.units import inch
-from common import Barcode
-import string
-
-_fim_patterns = {
- 'A' : "|| | ||",
- 'B' : "| || || |",
- 'C' : "|| | | ||",
- 'D' : "||| | |||",
- # XXX There is an E.
- # The below has been seen, but dunno if it is E or not:
- # 'E' : '|||| ||||'
-}
-
-_postnet_patterns = {
- '1' : "...||", '2' : "..|.|", '3' : "..||.", '4' : ".|..|",
- '5' : ".|.|.", '6' : ".||..", '7' : "|...|", '8' : "|..|.",
- '9' : "|.|..", '0' : "||...", 'S' : "|",
-}
-
-
-class FIM(Barcode):
- """"
- FIM (Facing ID Marks) encode only one letter.
- There are currently four defined:
-
- A Courtesy reply mail with pre-printed POSTNET
- B Business reply mail without pre-printed POSTNET
- C Business reply mail with pre-printed POSTNET
- D OCR Readable mail without pre-printed POSTNET
-
- Interleaved 2 of 5 is a numeric-only barcode. It encodes an even
- number of digits; if an odd number is given, a 0 is prepended.
-
- Options that may be passed to constructor:
-
- value (single character string from the set A - D. required.):
- The value to encode.
-
- quiet (bool, default 1):
- Wether to include quiet zones in the symbol.
-
- The following may also be passed, but doing so will generate nonstandard
- symbols which should not be used. This is mainly documented here to
- show the defaults:
-
- height (float, default 5/8 inch):
- Height of the code. This might legitimately be overriden to make
- a taller symbol that will 'bleed' off the edge of the paper,
- leaving 5/8 inch remaining.
-
- lquiet (float, default 1/4 inch):
- Quiet zone size to left of code, if quiet is true.
- Default is the greater of .25 inch, or .15 times the symbol's
- length.
-
- rquiet (float, default 15/32 inch):
- Quiet zone size to right left of code, if quiet is true.
-
- Sources of information on FIM:
-
- USPS Publication 25, A Guide to Business Mail Preparation
- http://new.usps.com/cpim/ftp/pubs/pub25.pdf
- """
-
- def __init__(self, value='', **args):
- self.barwidth = inch * (1.0/32.0)
- self.barspace = inch * (1.0/16.0)
- self.height = inch * (5.0/8.0)
- self.rquiet = inch * (0.25)
- self.lquiet = inch * (15.0/32.0)
- self.quiet = 0
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- Barcode.__init__(self, value)
-
- def validate(self):
- self.valid = 1
- self.validated = ''
- for c in self.value:
- if c in string.whitespace:
- continue
- elif c in "abcdABCD":
- self.validated = self.validated + string.upper(c)
- else:
- self.valid = 0
-
- if len(self.validated) != 1:
- raise ValueError, "Input must be exactly one character"
-
- return self.validated
-
- def decompose(self):
- self.decomposed = ''
- for c in self.encoded:
- self.decomposed = self.decomposed + _fim_patterns[c]
-
- return self.decomposed
-
- def computeSize(self):
- self.width = (len(self.decomposed) - 1) * self.barspace + self.barwidth
- if self.quiet:
- self.xo = self.lquiet
- self.width = self.lquiet + self.width + self.rquiet
- else:
- self.xo = 0.0
-
- def draw(self):
- left = self.xo
- for c in self.decomposed:
- if c == '|':
- self.rect(left, 0.0, self.barwidth, self.height)
- left = left + self.barspace
-
-
-class POSTNET(Barcode):
- """"
- POSTNET is used in the US to encode "zip codes" (postal codes) on
- mail. It can encode 5, 9, or 11 digit codes. I've read that it's
- pointless to do 5 digits, since USPS will just have to re-print
- them with 9 or 11 digits.
-
- Sources of information on POSTNET:
-
- USPS Publication 25, A Guide to Business Mail Preparation
- http://new.usps.com/cpim/ftp/pubs/pub25.pdf
- """
-
- def __init__(self, value='', **args):
- self.sbarheight = inch * 0.050
- self.fbarheight = inch * 0.125
- self.barwide = inch * 0.018
- self.spacewide = inch * 0.0275
-
- for (k, v) in args.items():
- setattr(self, k, v)
-
- Barcode.__init__(self, value)
-
- def validate(self):
- self.validated = ''
- self.valid = 1
- count = 0
- for c in self.value:
- if c in (string.whitespace + '-'):
- pass
- elif c in string.digits:
- count = count + 1
- if count == 6:
- self.validated = self.validated + '-'
- self.validated = self.validated + c
- else:
- self.valid = 0
-
- if len(self.validated) not in [5, 10, 12]:
- self.valid = 0
-
- return self.validated
-
- def encode(self):
- self.encoded = "S"
- check = 0
- for c in self.validated:
- if c in string.digits:
- self.encoded = self.encoded + c
- check = check + string.atoi(c)
- elif c == '-':
- pass
- else:
- raise ValueError, "Invalid character in input"
- check = (10 - (check % 10)) % 10
- self.encoded = self.encoded + `check` + 'S'
- return self.encoded
-
- def decompose(self):
- self.decomposed = ''
- for c in self.encoded:
- self.decomposed = self.decomposed + _postnet_patterns[c]
- return self.decomposed
-
- def computeSize(self):
- self.width = len(self.decomposed) * self.barwide
- self.width = self.width + (len(self.decomposed) - 1) * self.spacewide
- self.height = self.fbarheight
- self.xo = 0.0
-
- def draw(self):
- sdown = self.fbarheight - self.sbarheight
- left = self.xo
-
- for c in self.decomposed:
- if c == '.':
- h = self.sbarheight
- else:
- h = self.fbarheight
- self.rect(left, 0.0, self.barwide, h)
- left = left + self.barwide + self.spacewide
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/board_auction_demo.xml b/addons/auction/board_auction_demo.xml
deleted file mode 100644
index 1727d6a3522..00000000000
--- a/addons/auction/board_auction_demo.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/addons/auction/board_auction_manager_view.xml b/addons/auction/board_auction_manager_view.xml
deleted file mode 100644
index 099909694f3..00000000000
--- a/addons/auction/board_auction_manager_view.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
- board.auction.manager.form
- board.board
- form
-
-
-
-
-
-
diff --git a/addons/auction/report/artists_lots.py b/addons/auction/report/artists_lots.py
deleted file mode 100644
index 6c9344c88db..00000000000
--- a/addons/auction/report/artists_lots.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from report.interface import report_int
-import netsvc
-import openerp.pooler
-
-class report_artistlot(report_int):
- def __init__(self, name):
- report_int.__init__(self, name)
-
- def create(self, cr, uid, ids, datas, context):
- pool = pooler.get_pool(cr.dbname)
- lots = pool.get('auction.lots').read(cr, uid, ids, ['artist_id'])
- artists = []
- for lot in lots:
- if lot['artist_id'] and lot['artist_id'] not in artists:
- artists.append(lot['artist_id'][0])
-
- if not len(artists):
- raise 'UserError', 'Objects '
-
- datas['ids'] = artists
-
- self._obj_report = netsvc.LocalService('report.report.auction.artists')
- return self._obj_report.create(cr, uid, artists, datas, context)
-
- def result(self):
- return self._obj_report.result()
-
-report_artistlot('report.auction.artists_lots')
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_artists.py b/addons/auction/report/auction_artists.py
deleted file mode 100644
index 818724802f3..00000000000
--- a/addons/auction/report/auction_artists.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class auction_artists(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(auction_artists, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
-
- })
-report_sxw.report_sxw('report.auction.artists', 'auction.lots', 'addons/auction/report/auction_artists.rml',parser=auction_artists)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_artists.rml b/addons/auction/report/auction_artists.rml
deleted file mode 100644
index 7dd4f2156a5..00000000000
--- a/addons/auction/report/auction_artists.rml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
-
-
- .........
-
- Article: [[o.product_id and o.product_id.name or False]]
-
-
-
-
-
-
-
- [[o.artist_id and 'Artist1: '+o.artist_id.name or False]]
- [[o.artist_id and 'Biography: '+o.artist_id.biography or False]]
-
-
-
- [[o.artist2_id and 'Artist2: '+o.artist2_id.name or False]]
-
- [[o.artist2_id and 'Biography: '+o.artist2_id.biography or False]]
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/auction_bids.py b/addons/auction/report/auction_bids.py
deleted file mode 100644
index 8f4425a0e70..00000000000
--- a/addons/auction/report/auction_bids.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class auction_bids(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(auction_bids, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- })
-report_sxw.report_sxw('report.auction.bids', 'auction.bid', 'addons/auction/report/auction_bids.rml',parser=auction_bids)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_bids.rml b/addons/auction/report/auction_bids.rml
deleted file mode 100644
index f1eeaad24ba..00000000000
--- a/addons/auction/report/auction_bids.rml
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Bid
-
-
- Buyer
-
-
- Tel
-
-
- Auction
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]][[o.name]]
-
-
- [[ o.partner_id and o.partner_id.name or False]]
-
-
- [[o.contact_tel]]
-
-
- [[o.auction_id and o.auction_id.name or False]]
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/auction_buyer_result.py b/addons/auction/report/auction_buyer_result.py
deleted file mode 100644
index f979d541e97..00000000000
--- a/addons/auction/report/auction_buyer_result.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class auction_buyer_result(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(auction_buyer_result, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
-
- })
-report_sxw.report_sxw('report.auction.buyer.result', 'auction.lots', 'addons/auction/report/auction_buyer_result.rml',parser=auction_buyer_result)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_buyer_result.rml b/addons/auction/report/auction_buyer_result.rml
deleted file mode 100644
index 9c785beb899..00000000000
--- a/addons/auction/report/auction_buyer_result.rml
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Num
-
-
- Adj
-
-
- Buyer
-
-
-
-
-
-
- [[repeatIn(objects,'o') ]][[o. obj_num ]]
-
-
- [[ o.obj_price]]
-
-
- [[o.ach_uid and o.ach_uid.name or False ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/auction_catelog.py b/addons/auction/report/auction_catelog.py
deleted file mode 100644
index 489859f9672..00000000000
--- a/addons/auction/report/auction_catelog.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-
-class auction_catelog(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(auction_catelog, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
-
- })
-report_sxw.report_sxw('report.auction.catelog', 'auction.lots', 'addons/auction/report/auction_catelog.rml', parser=auction_catelog)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_catelog.rml b/addons/auction/report/auction_catelog.rml
deleted file mode 100644
index e5bd7373cf5..00000000000
--- a/addons/auction/report/auction_catelog.rml
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Catelog
-
-
-
-
-
-
- Date: [[ formatLang(time.strftime('%Y-%m-%d'),date=True) ]]
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/addons/auction/report/auction_invoice.py b/addons/auction/report/auction_invoice.py
deleted file mode 100644
index 40ca8498756..00000000000
--- a/addons/auction/report/auction_invoice.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from report.interface import report_int
-import netsvc
-
-class auction_invoice(report_int):
- def __init__(self, name):
- report_int.__init__(self, name)
-
- def create(self,cr, uid, ids, datas, context):
- lots = self.pool.get('auction.lots').read(cr, uid, ids, ['ach_inv_id'], context=context)
-
- invoices = {}
- for l in lots:
- if l['ach_inv_id']:
- invoices[l['ach_inv_id'][0]]=True
- new_ids = invoices.keys()
- if not len(new_ids):
- raise 'UserError', 'Objects not Invoiced !'
-
- datas['ids'] = new_ids
-
- self._obj_invoice = netsvc.LocalService('report.account.invoice')
- return self._obj_invoice.create(cr, uid, new_ids, datas, context)
-
- def result(self):
- return self._obj_invoice.result()
-
-auction_invoice('report.auction.invoice')
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_objects.py b/addons/auction/report/auction_objects.py
deleted file mode 100644
index 59b44ce4c2f..00000000000
--- a/addons/auction/report/auction_objects.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-class auction_objects(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(auction_objects, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- })
-
-
-report_sxw.report_sxw('report.auction.objects', 'auction.lots', 'addons/auction/report/auction_objects.rml', parser=auction_objects)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_objects.rml b/addons/auction/report/auction_objects.rml
deleted file mode 100644
index bd9e429da5d..00000000000
--- a/addons/auction/report/auction_objects.rml
+++ /dev/null
@@ -1,217 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/auction_result.py b/addons/auction/report/auction_result.py
deleted file mode 100644
index 79de1ccac6b..00000000000
--- a/addons/auction/report/auction_result.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class auction_result(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(auction_result, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
-
- })
-report_sxw.report_sxw('report.auction.result', 'auction.lots', 'addons/auction/report/auction_result.rml',parser=auction_result)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_result.rml b/addons/auction/report/auction_result.rml
deleted file mode 100644
index 1c6a99b2259..00000000000
--- a/addons/auction/report/auction_result.rml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/auction_total_rml.py b/addons/auction/report/auction_total_rml.py
deleted file mode 100644
index 610cb108cc4..00000000000
--- a/addons/auction/report/auction_total_rml.py
+++ /dev/null
@@ -1,155 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class auction_total_rml(report_sxw.rml_parse):
- total_obj=[]
- def __init__(self, cr, uid, name, context):
- super(auction_total_rml, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- 'sum_taxes':self.sum_taxes,
- 'sold_item':self.sold_item,
- 'sum_buyer':self.sum_buyer,
- 'sum_seller':self.sum_seller,
- 'sum_buyer_paid':self.sum_buyer_paid,
- 'sum_adj':self.sum_adj,
- 'count_comm':self.count_comm,
- 'sum_minadj':self.sum_minadj,
- 'sum_maxadj':self.sum_maxadj,
- 'sum_credit':self.sum_credit,
- 'sum_debit': self.sum_debit,
- 'chek_paid': self.chek_paid,
- 'check_paid_seller': self.check_paid_seller,
- 'count_take': self.count_take,
- 'sum_credit_seller':self.sum_credit_seller,
- 'sum_debit_buyer': self.sum_debit_buyer,
- 'get_auc_detail': self.get_auc_detail
- })
- def get_auc_detail(self,objects):
- auc_lot_ids = []
- for lot_id in objects:
- auc_lot_ids.append(lot_id.id)
- self.total_obj=auc_lot_ids
- self.cr.execute('SELECT auction_id FROM auction_lots '
- 'WHERE id IN %s '
- 'GROUP BY auction_id',
- (tuple(auc_lot_ids),))
- auc_date_ids = self.cr.fetchall()
- auct_dat=[]
- for ad_id in auc_date_ids:
- auc_dates_fields = self.pool.get('auction.dates').read(self.cr, self.uid, ad_id[0], ['name','auction1','id'])
- auct_dat.append(auc_dates_fields)
- return auct_dat
-
-
- def sum_taxes(self,auction_id):
- self.cr.execute("select count(1) from auction_lots where id IN %s and auction_id=%s group by auction_id ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return res[0]
- def sold_item(self, object_id):
- self.cr.execute("select count(1) from auction_lots where id IN %s and auction_id=%s and state IN ('unsold') ", (tuple(self.total_obj),object_id,))
- res = self.cr.fetchone()
- return str(res[0])
-
-
- def sum_buyer(self, auction_id):
- self.cr.execute("select count(*) from auction_lots where id IN %s and auction_id=%s and (ach_uid is not null or ach_login is not null) ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0])
-
-
- def sum_seller(self, auction_id):
- self.cr.execute("select count(distinct bord_vnd_id) from auction_lots where id IN %s and auction_id=%s AND bord_vnd_id is not null ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return res[0]
-
- def sum_adj(self, auction_id):
- self.cr.execute("select sum(obj_price) from auction_lots where id IN %s and auction_id=%s ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0])
-
- def count_take(self, auction_id):
- self.cr.execute("select count(*) from auction_lots where id IN %s and auction_id=%s and ach_emp='True' ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0])
-
- def chek_paid(self, auction_id):
- self.cr.execute("select count(1) from auction_lots where id IN %s and auction_id=%s and ((paid_ach='T') or (is_ok='T')) ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0])
- def check_paid_seller(self,auction_id):
- self.cr.execute("select sum(seller_price) from auction_lots where id IN %s and auction_id=%s and paid_vnd != 'T' ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0]) or 0.0
-
- def sum_credit(self,auction_id):
- self.cr.execute("select sum(buyer_price) from auction_lots where id IN %s and auction_id=%s", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0])
-
- def sum_debit_buyer(self,auction_id):
- self.cr.execute("select sum(buyer_price) from auction_lots where id IN %s and auction_id=%s", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0] or 0)
-
- def sum_debit(self,object_id):
- self.cr.execute("select sum(seller_price) from auction_lots where auction_id=%s", (object_id,))
- res = self.cr.fetchone()
- return str(res[0] or 0)
-
- def sum_credit_seller(self, object_id):
-
-
- self.cr.execute("select sum(seller_price) from auction_lots where id IN %s and auction_id=%s", (tuple(self.total_obj),object_id,))
- res = self.cr.fetchone()
- return str(res[0] or 0)
-
- def sum_minadj(self, auction_id):
- self.cr.execute('select sum(lot_est1) from auction_lots where id IN %s and auction_id=%s', (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0]) or 0
-
- def sum_maxadj(self, auction_id):
- self.cr.execute('select sum(lot_est2) from auction_lots where id IN %s and auction_id=%s', (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0]) or 0
-
- def sum_buyer_paid(self, auction_id):
- self.cr.execute("select count(*) from auction_lots where id IN %s and auction_id=%s and state = 'paid' ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0])
-
- def count_comm(self, auction_id):
- self.cr.execute("select count(*) from auction_lots where id IN %s and auction_id=%s and obj_comm is not null ", (tuple(self.total_obj),auction_id,))
- res = self.cr.fetchone()
- return str(res[0])
-
-
-report_sxw.report_sxw('report.auction.total.rml', 'auction.lots', 'addons/auction/report/auction_total.rml',parser=auction_total_rml)
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/auction_total_rml.rml b/addons/auction/report/auction_total_rml.rml
deleted file mode 100644
index 0cb60f2915e..00000000000
--- a/addons/auction/report/auction_total_rml.rml
+++ /dev/null
@@ -1,326 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
-
-
-
-
-
-
-
-
-
-
- Date printing:
-
-
-
-
-
-
- [[ time.strftime('%Y-%m-%d') ]]
-
-
-
-
-
-
-
-
-
- Auction
-
-
-
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
-
-
-
-
-
-
-
-
-
- Auction:
-
-
- [[ o.auction_id and o.auction_id.name or False]]
-
-
-
diff --git a/addons/auction/report/bids_lots.py b/addons/auction/report/bids_lots.py
deleted file mode 100644
index c6c93930455..00000000000
--- a/addons/auction/report/bids_lots.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class bids_lots(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(bids_lots, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- })
-report_sxw.report_sxw('report.bids.lots', 'auction.lots', 'addons/auction/report/bids_lots.rml',parser=bids_lots)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/bids_lots.rml b/addons/auction/report/bids_lots.rml
deleted file mode 100644
index 8d37024b742..00000000000
--- a/addons/auction/report/bids_lots.rml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cat.N
-
-
- Name
-
-
- Bid
-
-
- Phone
-
-
-
-
- [[ repeatIn(objects,'o') ]]
- [[o.obj_num]]
-
-
- [[ o.ach_uid and o.ach_uid.name or False]]
-
-
- [[ o.bid_lines and o.bid_lines[0] and o.bid_lines[0].bid_id.name or removeParentNode('font')]]
-
-
- [[o.bid_lines and o.bid_lines[0] and o.bid_lines[0].bid_id.contact_tel or removeParentNode('font')]]
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/bids_phones_details.py b/addons/auction/report/bids_phones_details.py
deleted file mode 100644
index 3721fb84c37..00000000000
--- a/addons/auction/report/bids_phones_details.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class bids_phones_details(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(bids_phones_details, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- })
-report_sxw.report_sxw('report.bids.phones.details', 'auction.lots', 'addons/auction/report/bids_phones_details.rml',parser=bids_phones_details)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/bids_phones_details.rml b/addons/auction/report/bids_phones_details.rml
deleted file mode 100644
index 36393e381e2..00000000000
--- a/addons/auction/report/bids_phones_details.rml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cat.N
-
-
- Description
-
-
- Est
-
-
- Phone
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
- [[o.obj_num]]
-
-
- [[ o.name]]
-
-
- [[o.lot_est1]]-[[o.lot_est2]]
-
-
- [[o.bid_lines and o.bid_lines[0] and o.bid_lines[0].bid_id.contact_tel or removeParentNode('font')]]
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/buyer_form_report.py b/addons/auction/report/buyer_form_report.py
deleted file mode 100644
index 37b82cd872e..00000000000
--- a/addons/auction/report/buyer_form_report.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-class buyer_form_report(report_sxw.rml_parse):
- count=0
- c=0
- def __init__(self, cr, uid, name, context):
- super(buyer_form_report, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- 'sum_taxes': self.sum_taxes,
- 'buyerinfo' : self.buyer_info,
- 'grand_total' : self.grand_buyer_total,
- })
-
- def sum_taxes(self, lot):
- amount=0.0
- taxes=[]
- if lot.author_right:
- taxes.append(lot.author_right)
- if lot.auction_id:
- taxes += lot.auction_id.buyer_costs
- tax=self.pool.get('account.tax').compute_all(self.cr, self.uid, taxes, lot.obj_price, 1)
- for t in tax:
- amount+=t['amount']
- return amount
- def buyer_info(self):
- objects = [object for object in self.localcontext.get('objects')]
- ret_dict = {}
- for object in objects:
- partner = ret_dict.get(object.ach_uid.id,False)
- if not partner:
- ret_dict[object.ach_uid.id] = {'partner' : object.ach_uid or False, 'lots':[object]}
- else:
- lots = partner.get('lots')
- lots.append(object)
- return ret_dict.values()
-
- def grand_buyer_total(self,o):
- grand_total = 0
- for oo in o:
- grand_total =grand_total + oo['obj_price'] +self.sum_taxes(oo)
- return grand_total
-
-report_sxw.report_sxw('report.buyer_form_report', 'auction.lots', 'addons/auction/report/buyer_form_report.rml', parser=buyer_form_report)
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/buyer_form_report.rml b/addons/auction/report/buyer_form_report.rml
deleted file mode 100644
index ed1804be8a2..00000000000
--- a/addons/auction/report/buyer_form_report.rml
+++ /dev/null
@@ -1,226 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ repeatIn(buyerinfo(),'o') ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ o['partner'] and o['partner'].name or False]]
- [[o['partner'] and o['partner'] and display_address(o['partner']) ]]
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/buyer_list.py b/addons/auction/report/buyer_list.py
deleted file mode 100644
index 3829238a43f..00000000000
--- a/addons/auction/report/buyer_list.py
+++ /dev/null
@@ -1,96 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-class buyer_list(report_sxw.rml_parse):
- auc_lot_ids=[]
- sum_adj_price_val=0.0
- sum_buyer_obj_price_val=0.0
- sum_buyer_price_val=0.0
- sum_lot_val=0.0
- def __init__(self, cr, uid, name, context):
- super(buyer_list, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- 'lines_lots_from_auction' : self.lines_lots_from_auction,
- 'lines_lots_auct_lot' : self.lines_lots_auct_lot,
- 'sum_adj_price':self.sum_adj_price,
- 'sum_buyer_obj_price':self.sum_buyer_obj_price,
- 'sum_buyer_price':self.sum_buyer_price,
- 'sum_lots':self.sum_lots
- })
-
- def lines_lots_from_auction(self, objects):
-
- auc_lot_ids = []
- for lot_id in objects:
- auc_lot_ids.append(lot_id.id)
- self.auc_lot_ids=auc_lot_ids
- self.cr.execute('SELECT auction_id FROM auction_lots WHERE id IN %s GROUP BY auction_id',
- (tuple(auc_lot_ids),))
- auc_date_ids = self.cr.fetchall()
- auct_dat=[]
- for ad_id in auc_date_ids:
- auc_dates_fields = self.pool.get('auction.dates').read(self.cr, self.uid, ad_id[0], ['name'])
- self.cr.execute('select * from auction_buyer_taxes_rel abr,auction_dates ad where ad.id=abr.auction_id and ad.id=%s', (ad_id[0],))
- res=self.cr.fetchall()
- total=0
- for r in res:
- buyer_rel_field = self.pool.get('account.tax').read(self.cr, self.uid, r[1], ['amount'])
- total = total + buyer_rel_field['amount']
- auc_dates_fields['amount']=total
- auct_dat.append(auc_dates_fields)
- return auct_dat
-
- def lines_lots_auct_lot(self,obj):
-
- auc_date_ids = self.pool.get('auction.dates').search(self.cr, self.uid, ([('name','like',obj['name'])]))
-
- self.cr.execute('SELECT ach_login AS ach_uid, COUNT(1) AS no_lot, '\
- 'SUM(obj_price) AS adj_price, '\
- 'SUM(buyer_price)-SUM(obj_price) AS buyer_cost, '\
- 'SUM(buyer_price) AS to_pay '\
- 'FROM auction_lots WHERE id IN %s '\
- 'AND auction_id=%s AND ach_login IS NOT NULL '\
- 'GROUP BY ach_login ORDER BY ach_login',
- (tuple(self.auc_lot_ids), auc_date_ids[0],))
- res = self.cr.dictfetchall()
- for r in res:
- self.sum_adj_price_val = self.sum_adj_price_val + r['adj_price']
- self.sum_buyer_obj_price_val = self.sum_buyer_obj_price_val + r['buyer_cost']
- self.sum_buyer_price_val = self.sum_buyer_price_val + r['to_pay']
- self.sum_lot_val = self.sum_lot_val + r['no_lot']#
- return res
- def sum_lots(self):
- return self.sum_lot_val
- def sum_adj_price(self):
- return self.sum_adj_price_val
-
- def sum_buyer_obj_price(self):
- return self.sum_buyer_obj_price_val
-
- def sum_buyer_price(self):
- return self.sum_buyer_price_val
-report_sxw.report_sxw('report.buyer.list', 'auction.lots', 'addons/auction/report/buyer_list.rml', parser=buyer_list)
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/buyer_list.rml b/addons/auction/report/buyer_list.rml
deleted file mode 100644
index ac46e654ff6..00000000000
--- a/addons/auction/report/buyer_list.rml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Date: [[ formatLang(time.strftime('%Y-%m-%d'),date=True)]]
- [[ repeatIn(lines_lots_from_auction(objects),'o') ]]
-
-
-
- [[o['name'] or False]]
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/catalog2.py b/addons/auction/report/catalog2.py
deleted file mode 100644
index e36f4bb3c44..00000000000
--- a/addons/auction/report/catalog2.py
+++ /dev/null
@@ -1,165 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from report.interface import report_rml
-import pooler
-from xml.dom import minidom
-import re
-import base64
-import photo_shadow
-import addons
-
-def _to_unicode(s):
- try:
- return s.decode('utf-8')
- except UnicodeError:
- try:
- return s.decode('latin')
- except UnicodeError:
- try:
- return s.encode('ascii')
- except UnicodeError:
- return s
-
-def _to_decode(s):
- try:
- return s.encode('utf-8')
- except UnicodeError:
- try:
- return s.encode('latin')
- except UnicodeError:
- try:
- return s.decode('ascii')
- except UnicodeError:
- return s
-
-
-class auction_catalog(report_rml):
-
- def create_xml(self, cr, uid, ids, data, context):
- xml = self.catalog_xml(cr, uid, ids, data, context)
- temp = self.post_process_xml_data(cr, uid, xml, context)
-
- return temp
- def catalog_xml(self, cr, uid, ids, data, context, cwid="0"):
- impl = minidom.getDOMImplementation()
- doc = impl.createDocument(None, "report", None)
- catalog=doc.createElement('catalog')
- doc.documentElement.appendChild(catalog)
-
- auction_lot_pool = pooler.get_pool(cr.dbname).get('auction.lots')
- auction_dates_pool = pooler.get_pool(cr.dbname).get('auction.dates')
- for auction in auction_dates_pool.browse(cr, uid, ids, context=context):
- auction_lot_ids = auction_lot_pool.search(cr, uid, [('auction_id', '=', auction.id)])
- key = 'name'
- categ = doc.createElement(key)
- categ.appendChild(doc.createTextNode(_to_decode(auction.name)))
- catalog.appendChild(categ)
-
- #Auctuion Date element
- categ = doc.createElement("AuctionDate1")
- categ.appendChild(doc.createTextNode(_to_decode(auction.auction1)))
- catalog.appendChild(categ)
-
- # Action Date 2 element
- categ = doc.createElement("AuctionDate2")
- categ.appendChild(doc.createTextNode(_to_decode(auction.auction2)))
- catalog.appendChild(categ)
-
- # promotion element
- promo = doc.createElement('promotion1')
- fp = file(addons.get_module_resource('auction','report', 'images', 'flagey_logo.jpg'),'r')
- file_data = fp.read()
- promo.appendChild(doc.createTextNode(base64.encodestring(file_data)))
- catalog.appendChild(promo)
- promo = doc.createElement('promotion2')
- fp = file(addons.get_module_resource('auction','report', 'images', 'flagey_logo.jpg'),'r')
- file_data = fp.read()
- promo.appendChild(doc.createTextNode(base64.encodestring(file_data)))
- catalog.appendChild(promo)
-
- #product element
- products = doc.createElement('products')
- catalog.appendChild(products)
- side = 0
- length = 0
- for cat in auction_lot_pool.browse(cr, uid, auction_lot_ids, context=context):
- product = doc.createElement('product')
- products.appendChild(product)
- if cat.obj_desc:
- infos = doc.createElement('infos')
- lines = re.split(' |\n', _to_unicode(cat.obj_desc))
- for line in lines:
- xline = doc.createElement('info')
- xline.appendChild(doc.createTextNode(_to_decode(line)))
- infos.appendChild(xline)
- product.appendChild(infos)
- if cat.lot_num:
- lnum = doc.createElement('lot_num')
- lnum.appendChild(doc.createTextNode(_to_decode(str(cat.lot_num))))
- infos.appendChild(lnum)
-
- if cat.image:
- import tempfile
- limg = doc.createElement('photo_small')
-
- file_name = tempfile.mktemp(prefix='openerp_auction_', suffix='.jpg')
- fp = file(file_name, 'w')
- content = base64.decodestring(cat.image)
- fp.write(content)
- fp.close()
- fp = file(file_name,'r')
- test_file_name = tempfile.mktemp(prefix='openerp_auction_test_', suffix='.jpg')
- size = photo_shadow.convert_catalog(fp, test_file_name,110)
- fp = file(test_file_name)
- file_data = fp.read()
- test_data = base64.encodestring(file_data)
- fp.close()
- limg.appendChild(doc.createTextNode(test_data))
- infos.appendChild(limg)
-
- if cat.lot_est1:
- ref2 = doc.createElement(key)
- ref2.appendChild(doc.createTextNode( _to_decode(str(cat.lot_est1 or 0.0))))
- product.appendChild(ref2)
- if cat.lot_est2:
- ref2 = doc.createElement(key)
- ref2.appendChild(doc.createTextNode( _to_decode(str(cat.lot_est2 or 0.0))))
- product.appendChild(ref2)
-
- oldlength = length
- length += 2.0
- if length>23.7:
- side += 1
- length = length - oldlength
- ref3 = doc.createElement('newpage')
- ref3.appendChild(doc.createTextNode( "1" ))
- product.appendChild(ref3)
- if side%2:
- ref4 = doc.createElement('side')
- ref4.appendChild(doc.createTextNode( "1" ))
- product.appendChild(ref4)
- xml1 = doc.toxml()
- return xml1
-auction_catalog('report.auction.cat_flagy', 'auction.dates','','addons/auction/report/catalog2.xsl')
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/catalog2.xsl b/addons/auction/report/catalog2.xsl
deleted file mode 100644
index c44d0e83047..00000000000
--- a/addons/auction/report/catalog2.xsl
+++ /dev/null
@@ -1,256 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1cm 3.0cm 20cm 3.0cm
-
- Hotel des ventes Flagey
-
- Rue du Nid, 4 - B-1050 Bruxelles - Tel: 02/644.97.67
- Web: Flagey.com - Mail: info@flagey.com - Fax: 02.646.32.35
-
-
-
-
-
-
-
-
-
-
--
- Antiques on sale
-
-
-
-
-
-
- 1cm 1.6cm 20cm 1.6cm
- 1.0cm 26.1cm 20cm 26.1cm
-
-
- www.flagey.com
- Tel: 02.644.97.67 - Fax: 02.646.32.35
- info@flagey.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
-HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
-MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABjAO0DASIA
-AhEBAxEB/8QAGwAAAwADAQEAAAAAAAAAAAAAAAUGAwQHAgH/xABHEAABAwMBAggKBggFBQAAAAAB
-AAIDBAURBhIhBxMVMUFRU9EWNWFxc4GSoaKxFCIyN4KRIzM2QnSys8EkUnLw8TRjwtLh/8QAFQEB
-AQAAAAAAAAAAAAAAAAAAAAH/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDfptuW
-RsLRtOPMt3k+q7P4gta1eM4fxfIqlyOtVSPk+q7P4gjk+q7P4gnmD1FeS4DcSAVEJeT6rs/iCOT6
-rs/iCdbbesL0N/MgR8n1XZ/EEcn1XZ/EE7LgDgnevo38wygR8n1XZ/EEcn1XZ/EE4fMyN2y44PP5
-uhewQRkIEnJ9V2fxBHJ9V2fxBPEIEfJ9V2fxBHJ9V2fxBPEIEfJ9V2fxBHJ9V2fxBPEIEfJ9V2fx
-BHJ9V2fxBPEIEfJ9V2fxBHJ9V2fxBPEIEfJ9V2fxBHJ9V2fxBPEIEfJ9V2fxBHJ9V2fxBPEIEfJ9
-V2fxBHJ9V2fxBPEIEfJ9V2fxBHJ9V2fxBPEIEMtHUQxPlfHhjGlzjkbgFO1FbJNJlri1o5gCre4+
-LKr0L/kVz9VVLavGcP4vkU9qInva4xv2XbOP99SQ2rxnD+L5FUqiJe0W9131dU2Wa5V8UsLGPJjq
-HbO9oPX5Up1Vq+osOo57HRwskjpogRLONt7ztNGST51Q6U++O6egj/kaudcIX3l3L0Q/qMQX9OL7
-PTxyh1INtoP6kdy9VEd7MJE7Wys6qeV0L/URu9yb23xbT+jC9y1LYd7/AKrNrY2ienGUEdqa9S2O
-0UDKGOeVtSXCaaqcXyRuAzsg9C13XSoq7XaauoqaiJ1bMIswSub0dWcKk1BRR11tqIywOa+LaYcf
-vg7vcSpCphNPYtMxOGC2ux7kDHXl6qNLT02n6KSSRk0RmlnmcXPc4NLhvPQMBUum55KmxUssrtp7
-mAkqH4Yv24of4N39Mqz0p+zdH6MIHSEIQCEIQCEIQCEIQCEIQCEIQCEIQCEIQCEIQa1x8WVXoX/I
-rn66BcfFlV6F/wAiufoKW1eM4fxfIqkU3avGcP4vkVSIEWlPvkunoI/5GqH4S7a+DXdXVte2TjWh
-mw3eW/Wacn8lcaU++O6egj/kauecIEjm8JdyOA4tiBZtb9k7bRn3oOo0FRBFaIZZpo4o2xjae9wA
-CT6uuVKNK000EuTUVW2zoLm42cjyLzHarrWWyIPrmSMLQdiWIObzcymNbW+4fS6evlIFKGMpxEz7
-MTmuG4Dzb/Wg6PRAPoIQ7eCwZ/JTOtY2RGwNY0NH0/mHmCp6D/oIP9A+Smtc/rLB/H/2CCf4Yv24
-of4N39Mq00mM6cogOcxhRfDF+3FD/Bu/plWWli5umqMt+0IxhBryaqopp69lMJpo6Ehsr2ENbnOO
-c9GV8gu1wq4+NpKBuyeZz3uJ+akdY03Iemm2e15ibVSmWqlkadpx6G7ucBM+Dqrqn004qnuEQIEe
-3uJ8qCioqq7TXGOjm4lssoLo2O3E9G48xx5ltxXWNtxlt1Q+NtTE7ZIa7IKVahmNPqzSskbsOdNI
-04PR9VRuuauWi4Ubi6JxbgNfu69to/8AIoOs9ZJAAGSTzAJUb9an2youBq3ilieYmFmAZngZOzno
-HWtHUtVONB10sBIlfA0ZHPguAPuJUBq+F1to9MW6IkQChkmd1Oe5riT8h6kFxb77W3eIS0FJswk7
-nuJPz/8Ai3YLxLyJJcpnwtZFJxTwMuIf5v7eRfdGRiPTlCAMfVCiLnVii4PtR8c4jj7oWQ56SCSc
-fmPzQP7xqN9it8NVV1Tqmetn/wALHHsgxx9bsDeT1J5Zb/TXOzG4vkbFCwEyPccBuFz7Ttu8LaeS
-nq5XB8Ibh2N4yBkeRMbpaS+7WnRFtLmwOLZqojnO/cD6t/rQWNzvtvoLPHcpqh+zMNqCFv1S5ucb
-R58BLo7zcqimNVFSCOna0vJdvy0bz5eZR2uaSVmsJImyiSljfFBFEw54tjd2/wDJdKidDyUYg5uH
-QFuB05bhBh5SfTQ0s9TsGmqRmOZhyAeoor66rp4Q6liZIXZILsuB6ubCSycVbeCo0F4nZT3BpMtP
-G931x1HHlWvoHUJulGKeR2XNaHNPuI9RBQUtkj1BeI4qniqD6E77UkZdkDp6UnfqqB9ykpaWOpke
-xxaASOg4ORhU2jKsWjUdXZZDimqRx9ODzDP2m+o5UZri2v0trptdC3FPVHjBjm2h9oesb/UgpZa6
-ojoXVIg3gZ2SM49W5K7tq2329zYpRViQ4wWtDQ8nqBycJ0J2VdJFsOAbMMl3+VuMk+oZU22ihvup
-zVyRgxU+5jSNw6h6hhA0guT7jY6uR8D4/wBC/G2OfcVJK+r2tZa6oNAA4l/N5ioFBS2rxnD+L5FU
-imrV4zh/F8iqXOECLSn3x3T0Ef8AI1c64QfvLuXoh/UYuk6Yhki4VrtWyN2KYQR5ldub9hvSudcI
-cDhrytrQQ6CVrWsc05ydtp/sg6pbfFtP6MJbqG2zV9tdTxtDgZhL68YTG2EG20+D+4FtoMNIx0dL
-Ex3O1oCmNc/rLB/H/wBgq1S+sKaarmsTYI3SObXAkNGcbkE1wxftxQ/wbv6ZVParpTWXQ0VxqyeK
-hiB2RzuJ5gFN8L0Rl1bS1UZa+KOmcxxac4OwRj81v1NukuvB7RU0W9zXxylv+YDII9+fUg9v1U6K
-yQXS92+Bzq+bi6ClLMhrel7id5/5Xiw3G96ijfPTuZR0e0Q0RtA3epPOEHSxuWnLNPR7PGUDWF0Q
-Izs9O5aOgZI2abZGXBro3FrgdxB8qDHVwC1ai0/9JDamWeoeBI4bxjZ6fWo/hE+825+jH9RiuL3B
-U3LVum200D3wwyOe6QDdvI/9Ug4ULA+LWMlxhmjkFSA3Ya4ZGHAn5ILeGOOayRRyjaY+INLcZzkc
-ykNaMgltNDE+mcKija6Jjg9rnBpyObPUUzu90rKGzWuOi2RUGaMS7+ZuObyc625dN3GhPGT2iS5M
-k+s0seAGjqxhBg0pc4+RKaEyRRujAaXSPAA8uOf3KV4QXUl0raK22hjp6enc5+wxpxJI45LneTuV
-U211ZcS3SE7fNMB/ZMLfQ1ccoHg5LTOP75cHD1ndhAt0Tp6Sy250lTvqZztPK29O0wPDLWSyjeaa
-N0ZPVsAf2KaUVxgrNpjHASMOHMyDhYZY/oeoaG7xkNfF+jeTzOYTzeo/NByvU+3Bwi3TAHGcfHsO
-cM7OSeb3Lo0FvvBhY4XeUZAO5IuErTvE6ikvtK5slPK1pkDTktcHA7/VlWVunZPboJGOBa5gOfUg
-lbpoh93n+kV1Y2aTGNqRgJwsum9IQWSuM8U5P1cBgGBg79wVNPMx7Hjb2Ym/rZBzNHUOsnoCTW+o
-luV7lnZltOzcAObqA9QAQbl9ZLDFBdKcf4igfxoxzln74/Lf6lQauttHq7RkVdxjWmJomY/qwMrU
-c0OaQQCCMEHpCjdR3ar09wdXe3MLtmOpbHA7/tvBI+WEGlY7uyHTskH0hs0wHFsweZnOfWdw8yrL
-DRfRbe0vH6ST6zj51yvQNplqrtHCc8VTjbm8sh3kercPUu0NAa0AcwQa9x8WVXoX/Irn66BcfFlV
-6F/yK5+gpbV4zh/F8intTHI5pdGWbWNwe3ISK1eM4fxfIqkQSl5tt8u1vFEXwxQh21iLLM+fCmmc
-HlwbKJOOJI58yuOV1BCBHbqW6U8kbZOJbEBghgwniEIPj27TSM4z0pVVsurOMbRGBoe0tL9jDh5j
-0JshBzCTg9uMk5ldUEvyTkyuPP8A8qwtFurqaBtNUiMwhuMNT9CCTvml6utJfS187HEYwJCClVqs
-eoLQ57YwyfaP2p8Ox7l0FCCcprTc5ZTU1dYWTluzlh6OrzKPu/B/c6q4mo4+Sf62WiSU7LfVz+9d
-TQglLPpasjhH0o/S6p2Nlmdlu455+jm51q3vXurKS7T0tvqKZ8bHENaGuOyBu6AqKtra2nrnMpgf
-r0UrY8dEg3+9vMprQNM10VZNPh9RxpB2t5Ayg0W6/wBebW98WeoMf3J/ZuEy9x7cd9pg6Bw2eMiY
-7Iz5MKk4mPP2G/ksVQ2MN2GxB8j/AKrGAc5Qcms1xqaHWMoO22KWrIaD0tcM/kuvOY2WLZe0Oa4b
-wVGXOihr9U26Kma0spGNa57R9rZGCfzVqBgAIJm8aWfWMJpamWI9DQ8haNvob5a4hAKaOdo6Xu3f
-kMBWqEEybbdrnstrZmwwjmjjGAPMAn1HRw0UAhhbho962Fhq6qKio56uckRQxukdjnIAzgIMyRan
-po6uy1sEjGua1rJW5/zB24e8rWst+uF4tFZeZ6WKioIv1LnEkyeQ968VF1juNrdIwbLpXAbOd4wP
-77XuQYtAWnk+ymV4/SzOLnEquWrboBT0EUYGMNC2kGtcfFlV6F/yK5+ugXHxZVehf8iufoKW1eM4
-fxfIqkUhDcIbdUxzzbRAz9VoyTuIW/4X2/san2W96CgQp/wvt/Y1Pst70eF9v7Gp9lvegoEKf8L7
-f2NT7Le9Hhfb+xqfZb3oKBCn/C+39jU+y3vR4X2/san2W96CgQp/wvt/Y1Pst70eF9v7Gp9lvego
-EKf8L7f2NT7Le9Hhfb+xqfZb3oKBCn/C+39jU+y3vR4X2/san2W96BzPC5+y+KQxzM3tdjKknUlx
-tF0lq2wlzZDl5iHP5x/s+VNPC+39jU+y3vQdX2888NT7Le9B4Go4tnEgqtrqZCB7z3LE64V1dmKh
-o3xNeMOlkOXEeU9XkGFl8KrWTk00+f8AQ3vXoattwG6GpH4G96DdtNobQNMjztzv+05NFP8Ahfb+
-xqfZb3o8L7f2NT7Le9BQIU/4X2/san2W96PC+39jU+y3vQUCwVlO2qpJIHAOa9paWu5iCk3hfb+x
-qfZb3o8L7f2NT7Le9BK63F/koobTb4xSWqNgbxUbS456Tkc/uX3RtnuU0xkrWPZCHbX1xguPXjo8
-3Qqg6ttzueCpPnY3vQNXW5owIakfgb3oKADAwF9U/wCF9v7Gp9lvejwvt/Y1Pst70De4+LKr0L/k
-Vz9UdXqqhnpJoWxVAdJG5oJaMZIx1qbBBGRzIMFQ90lRIXHJDiPUsaEKqEIQgEIQgEIQgEIQgEIQ
-gEIQgEIQgEIQgEIQgEIQgEIQgEIQgEIQgF7jcQCAUIQf/9k=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
- Est. / Euro
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
- Est. / Euro
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/catelogwithpictures.py b/addons/auction/report/catelogwithpictures.py
deleted file mode 100644
index 6b01c4c45d0..00000000000
--- a/addons/auction/report/catelogwithpictures.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-class catelogwithpictures(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(catelogwithpictures, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
-
- })
-
-report_sxw.report_sxw('report.catelogwithpictures', 'auction.lots', 'addons/auction/report/catelogwithpictures.rml', parser=catelogwithpictures)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/catelogwithpictures.rml b/addons/auction/report/catelogwithpictures.rml
deleted file mode 100644
index 41738145b11..00000000000
--- a/addons/auction/report/catelogwithpictures.rml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Document:
-
- [[o.name]]
-
-
- Description:
-
- [[o.auction_id.name]]
-
-
- Minimum estimation: [[o.lot_est1]]
-
-
- Adjudication price:
- [[o.obj_price]]
-
- Maximum estimation:[[o.lot_est2]]
-
-
-
-
-
-
-
-
-
-
-
-
- [[ o.image and setTag('para','image',{'width':'100.0','height':'80.0','name':str(o.id)}) ]][[ o.image ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/content.xml b/addons/auction/report/content.xml
deleted file mode 100644
index 6ac0721c6a7..00000000000
--- a/addons/auction/report/content.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-[[repeatIn(objects,'o')]]VENTES PUBLIQUES de Auction-in-Europedu [[o.auction_id.expo1]] au [[o.auction_id.expo2]]RefPhotoDescriptionPrice[[ repeatIn(objects, 'o') ]][[o.auction_id.name]][[o.name]][[o.obj_price]][[o.image]]
\ No newline at end of file
diff --git a/addons/auction/report/corporate_defaults.xsl b/addons/auction/report/corporate_defaults.xsl
deleted file mode 100644
index 414071466af..00000000000
--- a/addons/auction/report/corporate_defaults.xsl
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
- Open ERP Report
- 1cm
- 1cm
- 1cm
- 1cm
- 21cm,29.7cm
-
- a4_letter
-
-
-
-
-
-
-
- 1cm 28.4cm 20cm 28.4cm
- 1cm 25.4cm 7cm 25.4cm
-
-
-
-
-
-
-
-
- -
-
-
- Phone:
-
- Mail:
-
-
-
-
-
- 1.5cm 2.2cm 19.9cm 2.2cm
-
-
- Your contact :
-
-
-
-
-
-
-
-
-
-
- 1cm 25.4cm 20cm 25.4cm
-
-
-
-
-
-
-
-
-
- -
-
-
- Phone:
-
- Mail:
-
-
-
-
- 1.5cm 1.2cm 19.9cm 1.2cm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/deposit.xml b/addons/auction/report/deposit.xml
deleted file mode 100644
index 5c13806948b..00000000000
--- a/addons/auction/report/deposit.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
- Bruxelles
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2640
- Mortsel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/deposit.xsl b/addons/auction/report/deposit.xsl
deleted file mode 100644
index 06cb36aa843..00000000000
--- a/addons/auction/report/deposit.xsl
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Inventory:
-
- Document type: Deposit Form
-
- Document Number:
-
- Date:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- VAT:
-
-
-
-
-
-
Num
-
Description
-
Auction
-
Limit
-
Estimate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/deposit_seller.py b/addons/auction/report/deposit_seller.py
deleted file mode 100644
index d7460e5db3a..00000000000
--- a/addons/auction/report/deposit_seller.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-
-class deposit_seller(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(deposit_seller, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
-
- })
-report_sxw.report_sxw('report.deposit.seller', 'auction.lots', 'addons/auction/report/deposit_seller.rml', parser=deposit_seller)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/deposit_seller.rml b/addons/auction/report/deposit_seller.rml
deleted file mode 100644
index b300784d83a..00000000000
--- a/addons/auction/report/deposit_seller.rml
+++ /dev/null
@@ -1,180 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
-
-
-
-
-
-
-
-
-
-
-
-
- Bruxelles: [[ time.strftime('%Y-%m-%d') ]]
-
-
-
-
-
-
-
-
-
-
-
-
- .........Madame, Monsieur,
-
- .........
-
- .........Veuillez trouver ci-dessous la liste des articles que vous avez déposés pour vente publique du [[o.auction_id.auction1]].
- Les lots que vous avez déposés mais qui ne sont pas marqués ci-dessous passeront dans une vente prochaine.
- En restant à votre disposition, je vous prie d'agréer, Madame, Monsieur, l'assurance de mes sentiments distingués.
-
-
-
-
- .........
- .........
- .........
- .........
- .........
- .........
- .........
- .........
- .........
- .........
- .........
- .........
- .........
- Fabien Pinckaers
-
-
-
-
-
-
-
-
-
-
- Cat.N
-
-
- List.N
-
-
- Description
-
-
- Estimate
-
-
-
-
- [[o. obj_num ]]
-
-
- [[o.lot_num ]]
-
-
- [[o.obj_desc]]
-
-
- [[o. lot_est1 ]]/[[o.lot_est2]]
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/huissier.py b/addons/auction/report/huissier.py
deleted file mode 100644
index 1d680548886..00000000000
--- a/addons/auction/report/huissier.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import pooler
-from report.interface import report_rml
-#FIXME: use the one from tools and delete the one from report
-from report.int_to_text import int_to_text
-from tools import to_xml as toxml
-from tools import ustr
-
-class report_custom(report_rml):
- def __init__(self, name, table, tmpl, xsl):
- report_rml.__init__(self, name, table, tmpl, xsl)
-
- def create_xml(self,cr, uid, ids, datas, context=None):
- pool= pooler.get_pool(cr.dbname)
- lots = pool.get('auction.lots').browse(cr, uid, ids, context=context)
- auction = lots[0].auction_id
-
- xml = '''
-
-
- %s
- %s
- ''' % (toxml(auction['name']), toxml(auction['auction1']))
-
- i = 0
- for l in lots:
- if l['obj_price']==0:
- price_french = u'retiré'
- else:
- price_french = int_to_text(int(l['obj_price'] or 0.0))+' eur'
- i+=1
- xml += ''' ''' % (i, l['obj_num'], ustr(toxml(l['name'])), ustr(price_french), ustr(l['obj_price'] or '/'))
- xml += ''
-
- return xml
-
-report_custom('report.flagey.huissier', 'auction.lots', '', 'addons/auction/report/huissier.xsl')
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/huissier.xsl b/addons/auction/report/huissier.xsl
deleted file mode 100644
index 50d7203b607..00000000000
--- a/addons/auction/report/huissier.xsl
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1.8cm 1.8cm 19.2cm 1.8cm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/lots_deposit.xml b/addons/auction/report/lots_deposit.xml
deleted file mode 100644
index 37dfdff6dad..00000000000
--- a/addons/auction/report/lots_deposit.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/lots_deposit.xsl b/addons/auction/report/lots_deposit.xsl
deleted file mode 100644
index 79ae4acb030..00000000000
--- a/addons/auction/report/lots_deposit.xsl
+++ /dev/null
@@ -1,140 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Bruxelles, le
-
-
-
- Madame, Monsieur
-
-
-
-
- Veuillez trouver - ci-dessous - la liste des articles que vous avez déposés pour la vente publique du .
-
-
-
-
-
- Les lots que vous avez déposés mais qui ne sont pas marqués ci-dessous passeront dans une vente prochaine.
-
-
-
-
- En restant à votre disposition, je vous prie d'agréer, Madame, Monsieur, l'assurance de mes sentiments distingués.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- VAT:
-
-
-
-
-
-
-
Cat. N.
-
Deposit Inventory
-
List N.
-
Description
-
Estimate
-
-
-
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
- /
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/addons/auction/report/lots_list.py b/addons/auction/report/lots_list.py
deleted file mode 100644
index 0ce06f7b498..00000000000
--- a/addons/auction/report/lots_list.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-class lots_list(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(lots_list, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- 'bid_line' : self.bid_line
- })
- def bid_line(self, lot_id):
- res = self.pool.get('auction.bid.lines').read(self.cr, self.uid, [lot_id])
- return True
-report_sxw.report_sxw('report.lots.list', 'auction.lots', 'addons/auction/report/lots_list.rml', parser=lots_list)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/lots_list.rml b/addons/auction/report/lots_list.rml
deleted file mode 100644
index 5d9946d87c1..00000000000
--- a/addons/auction/report/lots_list.rml
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cat.N
-
-
- Description and Bids
-
-
- Est
-
-
- Limit
-
-
- Inv,name
-
-
- Buyer price
-
-
-
-
- [[repeatIn(objects,'o')]]
- [[o. obj_num]]
-
-
- [[o.name ]]
- [[o.bid_lines and o.bid_lines[0].bid_id.contact_tel or False]]
-
-
- [[o.lot_est1]] /[[o.lot_est2]]
-
-
- [[o.vnd_lim or 0]]
- [[o.vnd_lim_net and 'NET' or False]]
-
-
-
diff --git a/addons/auction/report/lots_list_inventory.py b/addons/auction/report/lots_list_inventory.py
deleted file mode 100644
index 017d8598fa4..00000000000
--- a/addons/auction/report/lots_list_inventory.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-class lots_list_inventory(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(lots_list_inventory, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- 'bid_line' : self.bid_line
- })
- def bid_line(self, lot_id):
- res = self.pool.get('auction.bid.lines').read(self.cr,self.uid,[lot_id])
- return True
-report_sxw.report_sxw('report.lots.list.inventory', 'auction.lots', 'addons/auction/report/lots_list_inventory.rml', parser=lots_list_inventory)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/lots_list_inventory.rml b/addons/auction/report/lots_list_inventory.rml
deleted file mode 100644
index 8978ebbcbb5..00000000000
--- a/addons/auction/report/lots_list_inventory.rml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/lots_list_landscape.py b/addons/auction/report/lots_list_landscape.py
deleted file mode 100644
index 4c50a3def92..00000000000
--- a/addons/auction/report/lots_list_landscape.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-class lots_list_landscape(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(lots_list_landscape, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
-
- })
-
-report_sxw.report_sxw('report.lots.list.landscape', 'auction.lots', 'addons/auction/report/lots_list_landscape.rml', parser=lots_list_landscape)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/lots_list_landscape.rml b/addons/auction/report/lots_list_landscape.rml
deleted file mode 100644
index 05bbe83d09b..00000000000
--- a/addons/auction/report/lots_list_landscape.rml
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cat.N
-
-
- Description
-
-
-
-
-
- Est Min/Max
-
-
- Limit Bid
-
-
- Inv,Name
-
-
- Buyer price
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
- [[o. obj_num ]]
-
-
- [[o.lot_type]]
- [[o. name]]
-
-
- [[o. lot_est1 ]]-[[o.lot_est2]]
-
-
- [[o.bid_lines and o.bid_lines[0].price]]
- [[o.vnd_lim_net and 'NET' or False]]
-
-
-
-
diff --git a/addons/auction/report/rml_template.xsl b/addons/auction/report/rml_template.xsl
deleted file mode 100644
index 2725dce5b76..00000000000
--- a/addons/auction/report/rml_template.xsl
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/report/seller_address.py b/addons/auction/report/seller_address.py
deleted file mode 100644
index 7a7c10cb4aa..00000000000
--- a/addons/auction/report/seller_address.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from report.interface import report_int
-import openerp.pooler
-
-class auction_seller(report_int):
- def __init__(self, name):
- report_int.__init__(self, name)
-
- def create(self, cr, uid, ids, datas, context):
- pool = openerp.pooler.get_pool(cr.dbname)
- lots = pool.get('auction.lots').read(cr, uid, ids, ['bord_vnd_id'])
-
- bords = {}
- for l in lots:
- if l['bord_vnd_id']:
- bords[l['bord_vnd_id'][0]]=True
- new_ids = bords.keys()
-
- parts = {}
- partners = pool.get('auction.deposit').read(cr, uid, new_ids, ['partner_id'])
- for l in partners:
- if l['partner_id']:
- parts[l['partner_id'][0]]=True
- new_ids = parts.keys()
- if not len(new_ids):
- raise 'UserError', 'No seller !'
-
- datas['ids'] = new_ids
-
- self._obj_invoice = netsvc.LocalService('report.res.partner.address')
- return self._obj_invoice.create(cr, uid, new_ids, datas, context)
-
- def result(self):
- return self._obj_invoice.result()
-
-auction_seller('report.auction.seller_labels')
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/seller_form_report.py b/addons/auction/report/seller_form_report.py
deleted file mode 100644
index 06ff021dcc1..00000000000
--- a/addons/auction/report/seller_form_report.py
+++ /dev/null
@@ -1,70 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-import time
-from report import report_sxw
-
-class seller_form_report(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(seller_form_report, self).__init__(cr, uid, name, context=context)
-
- self.localcontext.update({
- 'time': time,
- 'sum_taxes': self.sum_taxes,
- 'sellerinfo' : self.seller_info,
- 'grand_total' : self.grand_seller_total,
- })
-
-
- def sum_taxes(self, lot):
- taxes=[]
- amount=0.0
- if lot.bord_vnd_id.tax_id:
- taxes.append(lot.bord_vnd_id.tax_id)
- elif lot.auction_id and lot.auction_id.seller_costs:
- taxes += lot.auction_id.seller_costs
- tax=self.pool.get('account.tax').compute_all(self.cr, self.uid, taxes, lot.obj_price, 1)
- for t in tax:
- amount+=t['amount']
- return amount
- def seller_info(self):
- objects = [object for object in self.localcontext.get('objects')]
- ret_dict = {}
- for object in objects:
-
- partner = ret_dict.get(object.bord_vnd_id.partner_id.id,False)
- if not partner:
- ret_dict[object.bord_vnd_id.partner_id.id] = {'partner' : object.bord_vnd_id.partner_id or False,'lots':[object]}
- else:
- lots = partner.get('lots')
- lots.append(object)
- return ret_dict.values()
- def grand_seller_total(self,o):
- grand_total = 0
- for oo in o:
- grand_total =grand_total + oo['obj_price']+ self.sum_taxes(oo)
- return grand_total
-
-
-report_sxw.report_sxw('report.seller_form_report', 'auction.lots', 'addons/auction/report/seller_form_report.rml', parser=seller_form_report)
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/report/seller_form_report.rml b/addons/auction/report/seller_form_report.rml
deleted file mode 100644
index da83950b463..00000000000
--- a/addons/auction/report/seller_form_report.rml
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ repeatIn(sellerinfo(),'o') ]]
-
-
-
-
-
-
-
-
- [[ o['partner'] and o['partner'].name or False]]
- [[ o['partner'] and o['partner'] and display_address(o['partner'])
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_catalog_flagey_report.py b/addons/auction/wizard/auction_catalog_flagey_report.py
deleted file mode 100644
index 03c8236c55c..00000000000
--- a/addons/auction/wizard/auction_catalog_flagey_report.py
+++ /dev/null
@@ -1,88 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import osv, fields
-import netsvc
-from tools.translate import _
-
-class auction_catalog_flagey(osv.osv_memory):
- _name = 'auction.catalog.flagey'
- _description = 'Auction Catalog Flagey'
-
- def default_get(self, cr, uid, fields, context=None):
- """
- To get default values for the object.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
- """
- res = super(auction_catalog_flagey, self).default_get(cr, uid, fields, context=context)
- return res
-
- def view_init(self, cr, uid, fields, context=None):
- """
- Creates view dynamically, adding fields at runtime, raises exception
- at the time of initialization of view.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: New arch of view with new columns.
- """
- lots_obj = self.pool.get('auction.lots')
- auc_dates_obj = self.pool.get('auction.dates')
- if context is None:
- context = {}
- current_auction = auc_dates_obj.browse(cr, uid, context.get('active_ids', []))
- v_lots = lots_obj.search(cr, uid, [('auction_id','=',current_auction.id)])
- v_ids = lots_obj.browse(cr, uid, v_lots, context=context)
- for ab in v_ids:
- if not ab.auction_id :
- raise osv.except_osv(_('Error!'), _('No Lots belong to this Auction Date'))
- pass
-
- def print_report(self, cr, uid, ids, context=None):
- """
- Prints auction catalog flagey report.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param ids: List of IDs selected
- @param context: A standard dictionary
- @return: Report
- """
- if context is None:
- context = {}
- datas = {'ids': context.get('active_ids',[])}
- return {
- 'type': 'ir.actions.report.xml',
- 'report_name': 'auction.cat_flagy',
- 'datas': datas,
- }
-
-auction_catalog_flagey()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/wizard/auction_catalog_flagey_view.xml b/addons/auction/wizard/auction_catalog_flagey_view.xml
deleted file mode 100644
index 144141f1eab..00000000000
--- a/addons/auction/wizard/auction_catalog_flagey_view.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
- Auction Catalog Flagey
- auction.catalog.flagey
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_able.py b/addons/auction/wizard/auction_lots_able.py
deleted file mode 100644
index 37d8374aad4..00000000000
--- a/addons/auction/wizard/auction_lots_able.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-from osv import fields, osv
-from tools.translate import _
-import netsvc
-import pooler
-import time
-import tools
-import wizard
-
-class auction_lots_able(osv.osv_memory):
-
- _name = "auction.lots.able"
- _description = "Lots able"
-
- def confirm_able(self, cr, uid, ids, context=None):
- """
- This function Update auction lots object and set taken away field true.
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of auction lots able’s IDs.
- """
- if context is None:
- context = {}
- self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'ach_emp':True})
- return {'type': 'ir.actions.act_window_close'}
-
-auction_lots_able()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_lots_able_view.xml b/addons/auction/wizard/auction_lots_able_view.xml
deleted file mode 100644
index bced6f41aac..00000000000
--- a/addons/auction/wizard/auction_lots_able_view.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- auction.lots.able.form
- auction.lots.able
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_auction_move.py b/addons/auction/wizard/auction_lots_auction_move.py
deleted file mode 100644
index cc698887afd..00000000000
--- a/addons/auction/wizard/auction_lots_auction_move.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import fields, osv
-from tools.translate import _
-import netsvc
-import pooler
-import time
-import tools
-import wizard
-
-class auction_lots_auction_move(osv.osv_memory):
- """Auction Move"""
- _name = "auction.lots.auction.move"
- _description = __doc__
- _columns= {
- 'auction_id':fields.many2one('auction.dates', 'Auction Date', required=True),
- }
-
- def auction_move_set(self, cr, uid, ids, context=None):
- """
- This Function update auction date on auction lots to given auction date.
- erase the auction lots's object adjudication price and its buyer and change state to draft.
- create new entry in auction lot history.
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of auction lots auction move’s IDs.
- """
- if context is None:
- context={}
- auction_bid_line_obj = self.pool.get('auction.bid_line')
- auction_lot_history_obj = self.pool.get('auction.lot.history')
- auction_lots_obj = self.pool.get('auction.lots')
- rec_ids = auction_lots_obj.browse(cr, uid, context.get('active_ids', []))
- for current in self.browse(cr, uid, ids, context=context):
- if not (current.auction_id and len(context.get('active_ids', []))):
- return {'type': 'ir.actions.act_window_close'}
-
- for rec in rec_ids:
- new_id = auction_lot_history_obj.create(cr, uid, {
- 'auction_id': rec.auction_id.id,
- 'lot_id': rec.id,
- 'price': rec.obj_ret
- })
- up_auction = auction_lots_obj.write(cr, uid, [rec.id], {
- 'auction_id': current.auction_id.id,
- 'obj_ret': None,
- 'obj_price': None,
- 'ach_login': None,
- 'ach_uid': None,
- 'ach_inv_id': None,
- 'sel_inv_id': None,
- 'obj_num': None,
- 'state': 'draft'})
- return {'type': 'ir.actions.act_window_close'}
-
-auction_lots_auction_move()
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/wizard/auction_lots_auction_move_view.xml b/addons/auction/wizard/auction_lots_auction_move_view.xml
deleted file mode 100644
index 27d68798ba5..00000000000
--- a/addons/auction/wizard/auction_lots_auction_move_view.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
- auction.lots.auction.move.form
- auction.lots.auction.move
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_buyer_map.py b/addons/auction/wizard/auction_lots_buyer_map.py
deleted file mode 100644
index 436d51a66c7..00000000000
--- a/addons/auction/wizard/auction_lots_buyer_map.py
+++ /dev/null
@@ -1,134 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import osv,fields
-from tools.translate import _
-import netsvc
-import sql_db
-
-class wiz_auc_lots_buyer_map(osv.osv_memory):
- _name = 'auction.lots.buyer_map'
- _description = 'Map Buyer'
- _columns = {
- 'ach_login': fields.char('Buyer Username', size=64, required=True),
- 'ach_uid': fields.many2one('res.partner','Buyer', required=True),
- }
-
- def default_get(self, cr, uid, fields, context=None):
- """
- To get default values for the object.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
- """
- if context is None:
- context = {}
- res = super(wiz_auc_lots_buyer_map,self).default_get(cr, uid, fields, context=context)
- auction_lots_obj = self.pool.get('auction.lots')
- lots_ids = auction_lots_obj.search(cr, uid, [('ach_uid', '=', ''), ('ach_login', '!=', '')])
- for rec in auction_lots_obj.browse(cr, uid, lots_ids, context=context):
- if (not rec.ach_uid or not rec.ach_login):
- res.update(self._start(cr, uid, context.get('active_ids', []), context=context))
- return res
- res.update(self._start(cr, uid, context.get('active_ids', []), context=context))
- return res
-
- def _start(self, cr, uid, ids, context=None):
- """
- Returns login if already there in the selected record.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param ids: List of ids
- @param context: A standard dictionary
- @return: login field from current record.
- """
- lots_obj = self.pool.get('auction.lots')
- for rec in lots_obj.browse(cr, uid, ids, context=context):
- if (len(ids)==1) and (not rec.ach_uid and not rec.ach_login):
- raise osv.except_osv(_('Error'), _('No buyer is set for this lot.'))
- if not rec.ach_uid and rec.ach_login:
- return {'ach_login': rec.ach_login}
- return {}
-
- def buyer_map_set(self, cr, uid, ids, context=None):
- """
- To map the buyer and login name.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param ids: List of ids
- @param context: A standard dictionary
- """
- if context is None:
- context={}
- rec_ids = context and context.get('active_ids',[]) or []
- assert rec_ids, _('Active IDs not Found')
- lots_obj = self.pool.get('auction.lots')
- for current in self.browse(cr, uid, ids, context=context):
- for lots in lots_obj.browse(cr, uid, rec_ids, context=context):
- if lots.ach_login == current.ach_login:
- lots_obj.write(cr, uid, [lots.id], {'ach_uid': current.ach_uid.id}, context=context)
- return {'type': 'ir.actions.act_window_close'}
-
- def fields_view_get(self, cr, uid, view_id=None, view_type='form',
- context=None, toolbar=False, submenu=False):
- """
- Changes the view dynamically
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param context: A standard dictionary
- @return: New arch of view.
- """
- if context is None:
- context={}
- record_ids = context and context.get('active_ids', []) or []
- res = super(wiz_auc_lots_buyer_map, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
- if context.get('active_model','') != 'auction.lots':
- return res
- lots_obj = self.pool.get('auction.lots')
- if record_ids:
- try:
- for lots in lots_obj.browse(cr, uid, record_ids, context=context):
- if lots.ach_uid:
- res['arch'] = """
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_cancel.py b/addons/auction/wizard/auction_lots_cancel.py
deleted file mode 100644
index 7157ac8abea..00000000000
--- a/addons/auction/wizard/auction_lots_cancel.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import osv
-from osv import fields
-
-class auction_lots_cancel(osv.osv):
- '''
- OpenERP Model
- '''
- _name = 'auction.lots.cancel'
- _description = 'To cancel auction lots.'
-
- def cancel(self, cr, uid, ids, context=None):
- """
- To cancel the auction lot
-
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param ids: List of IDs selected
- @param context: A standard dictionary
- @return:
- """
- if context is None:
- context={}
- lots_obj = self.pool.get('auction.lots')
- invoice_obj = self.pool.get('account.invoice')
- lot = lots_obj.browse(cr, uid, context.get('active_id', False), context=context)
- if lot.ach_inv_id:
- supplier_refund_inv_id = invoice_obj.refund(cr, uid, [lot.ach_inv_id.id])
- if lot.sel_inv_id:
- customer_refund_inv_id = invoice_obj.refund(cr, uid, [lot.sel_inv_id.id])
- return {'type': 'ir.actions.act_window_close'}
-
- _columns = {
- }
-auction_lots_cancel()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_lots_cancel_view.xml b/addons/auction/wizard/auction_lots_cancel_view.xml
deleted file mode 100644
index 03d75515ac0..00000000000
--- a/addons/auction/wizard/auction_lots_cancel_view.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- auction.lots.cancel.form
- auction.lots.cancel
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_enable.py b/addons/auction/wizard/auction_lots_enable.py
deleted file mode 100644
index c4c8792f76a..00000000000
--- a/addons/auction/wizard/auction_lots_enable.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-from osv import fields, osv
-
-class auction_lots_enable(osv.osv_memory):
- _name = "auction.lots.enable"
- _description = "Lots Enable"
-
- _columns= {
- 'confirm_en':fields.integer('Catalog Number')
- }
-
- def confirm_enable(self, cr, uid, ids, context=None):
- """
- This function Update auction lots object and set taken away field False.
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of auction lots enable’s IDs.
- """
- if context is None:
- context = {}
- self.pool.get('auction.lots').write(cr, uid, context.get('active_id',False), {'ach_emp':False})
- return {'type': 'ir.actions.act_window_close'}
-
-auction_lots_enable()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_lots_enable_view.xml b/addons/auction/wizard/auction_lots_enable_view.xml
deleted file mode 100644
index 5a9ebb94bb0..00000000000
--- a/addons/auction/wizard/auction_lots_enable_view.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
- auction.lots.enable.form
- auction.lots.enable
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_invoice.py b/addons/auction/wizard/auction_lots_invoice.py
deleted file mode 100644
index 3994aa6ff91..00000000000
--- a/addons/auction/wizard/auction_lots_invoice.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import osv, fields
-import netsvc
-from tools.translate import _
-
-class auction_lots_invoice(osv.osv_memory):
- _name = 'auction.lots.invoice'
- _description = "Auction Lots Invoice"
-
- _columns = {
- 'amount': fields.float('Invoiced Amount', required=True, readonly=True),
- 'amount_topay': fields.float('Amount to pay', required=True, readonly=True),
- 'amount_paid': fields.float('Amount paid', readonly=True),
- 'objects': fields.integer('# of objects', required=True, readonly=True),
- 'ach_uid': fields.many2one('res.partner','Buyer Name', required=True ),
- 'number': fields.integer('Invoice Number'),
- }
-
- def default_get(self, cr, uid, fields, context=None):
- """
- To get default values for the object.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
- """
- if context is None:
- context = {}
- res = super(auction_lots_invoice, self).default_get(cr, uid, fields, context=context)
- lots = self.pool.get('auction.lots').read(cr, uid, context.get('active_ids', []))
- auction = self.pool.get('auction.dates').read(cr, uid, [lots[0]['auction_id'][0]])[0]
-
- price = 0.0
- price_topay = 0.0
- price_paid = 0.0
- for lot in lots:
- price_lot = lot['obj_price'] or 0.0
-
- costs = self.pool.get('auction.lots').compute_buyer_costs(cr, uid, [lot['id']])
- price_lot += costs['amount']
- price += price_lot
-
- if lot['ach_uid']:
- if uid and (lot['ach_uid'][0]<>uid):
- raise osv.except_osv(_('UserError'), _('Two different buyers for the same invoice !\nPlease correct this problem before invoicing'))
- uid = lot['ach_uid'][0]
- elif lot['ach_login']:
- refs = self.pool.get('res.partner').search(cr, uid, [('ref','=',lot['ach_login'])])
- if len(refs):
- uid = refs[-1]
- if 'ach_pay_id' in lot and lot['ach_pay_id']:
- price_paid += price_lot
- #*tax
- else:
- price_topay += price_lot
- #*tax
-
- #TODO: recuperer id next invoice (de la sequence)???
- invoice_number = False
- for lot in self.pool.get('auction.lots').browse(cr, uid, context.get('active_ids', []), context=context):
- if 'objects' in fields:
- res.update({'objects':len(context.get('active_ids', []))})
- if 'amount' in fields:
- res.update({'amount': price})
- if 'ach_uid' in fields:
- res.update({'ach_uid': uid})
- if 'amount_topay' in fields:
- res.update({'amount_topay':price_topay})
- if 'amount_paid' in fields:
- res.update({'amount_paid':price_paid})
- if 'number' in fields:
- res.update({'number':invoice_number})
- return res
-
- def print_report(self, cr, uid, ids, context=None):
- """
- Create an invoice report.
- @param cr: the current row, from the database cursor.
- @param uid: the current user’s ID for security checks.
- @param ids: List of Auction lots make invoice buyer’s IDs
- @return: dictionary of account invoice form.
- """
- if context is None:
- context = {}
- datas = {'ids' : context.get('active_ids',[])}
- res = self.read(cr, uid, ids, ['number','ach_uid'])
- res = res and res[0] or {}
- datas['form'] = res
- return {
- 'type' : 'ir.actions.report.xml',
- 'report_name':'auction.invoice',
- 'datas' : datas,
- }
-
-auction_lots_invoice()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_lots_invoice_view.xml b/addons/auction/wizard/auction_lots_invoice_view.xml
deleted file mode 100644
index 4adc7098789..00000000000
--- a/addons/auction/wizard/auction_lots_invoice_view.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
- auction.lots.invoice.wizard
- auction.lots.invoice
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_make_invoice.py b/addons/auction/wizard/auction_lots_make_invoice.py
deleted file mode 100644
index 19c39dc2c04..00000000000
--- a/addons/auction/wizard/auction_lots_make_invoice.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-from osv import fields, osv
-from tools.translate import _
-import netsvc
-import pooler
-import time
-import tools
-import wizard
-
-class auction_lots_make_invoice(osv.osv_memory):
- _name = "auction.lots.make.invoice"
- _description = "Make invoice"
-
- _columns = {
- 'amount': fields.float('Invoiced Amount', required =True, readonly=True, help="Seller Price"),
- 'objects':fields.integer('# of objects', required =True, readonly=True),
- 'number':fields.char('Invoice Number', size=64),
- }
-
- _defaults = {
- 'number': lambda *a: False,
- }
-
- def default_get(self, cr, uid, fields, context=None):
- """
- To get default values for the object.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
- """
- if context is None:
- context={}
- res = super(auction_lots_make_invoice, self).default_get(cr, uid, fields, context=context)
- lots_obj = self.pool.get('auction.lots')
- for lot in lots_obj.browse(cr, uid, context.get('active_ids', []), context=context):
- if 'amount' in fields:
- res.update({'amount': lot.seller_price})
- if 'objects' in fields:
- res.update({'objects': len(context.get('active_ids', []))})
- return res
-
- def makeInvoices(self, cr, uid, ids, context=None):
- """
- Seller invoice :Create an invoice.
- @param cr: the current row, from the database cursor.
- @param uid: the current user’s ID for security checks.
- @param ids: List of Auction lots make invoice’s IDs
- @return: dictionary of account invoice form.
- """
- if context is None:
- context={}
- order_obj = self.pool.get('auction.lots')
- mod_obj = self.pool.get('ir.model.data')
- result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
- id = mod_obj.read(cr, uid, result, ['res_id'])
- lots_ids = order_obj.seller_trans_create(cr, uid, context.get('active_ids', []), context=context)
- return {
- 'domain': "[('id','in', ["+','.join(map(str, lots_ids))+"])]",
- 'name': 'Seller invoices',
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'res_model': 'account.invoice',
- 'view_id': False,
- 'context': "{'type':'out_refund'}",
- 'type': 'ir.actions.act_window',
- 'search_view_id': id['res_id']
- }
-
-auction_lots_make_invoice()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_lots_make_invoice_buyer.py b/addons/auction/wizard/auction_lots_make_invoice_buyer.py
deleted file mode 100644
index 253a5b317ff..00000000000
--- a/addons/auction/wizard/auction_lots_make_invoice_buyer.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-from osv import fields, osv
-
-class auction_lots_make_invoice_buyer(osv.osv_memory):
- """Make Invoice for Buyer"""
-
- _name = "auction.lots.make.invoice.buyer"
- _description = __doc__
- _columns= {
- 'amount': fields.float('Invoiced Amount', required =True, readonly=True, help="Buyer Price"),
- 'objects':fields.integer('# of objects', required =True, readonly=True),
- 'number':fields.char('Invoice Number', size=64),
- 'buyer_id':fields.many2one('res.partner', 'Buyer', required=True),
- }
- _defaults={
- 'number': lambda *a: False,
- }
-
- def default_get(self, cr, uid, fields, context=None):
- """
- To get default values for the object.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
- """
- if context is None:
- context={}
- res = super(auction_lots_make_invoice_buyer, self).default_get(cr, uid, fields, context=context)
- lots_obj=self.pool.get('auction.lots')
- for lot in lots_obj.browse(cr, uid, context.get('active_ids', []), context=context):
- if 'amount' in fields:
- res.update({'amount': lot.buyer_price})
- if 'buyer_id' in fields:
- res.update({'buyer_id': lot.ach_uid and lot.ach_uid.id or False})
- if 'objects' in fields:
- res.update({'objects': len(context.get('active_ids', []))})
- return res
-
- def makeInvoices(self, cr, uid, ids, context=None):
- """
- Create an invoice for selected lots (IDS) to BUYER_ID .
- @param cr: the current row, from the database cursor.
- @param uid: the current user’s ID for security checks.
- @param ids: List of Auction lots make invoice buyer’s IDs
- @return: dictionary of account invoice form.
- """
- order_obj = self.pool.get('auction.lots')
- mod_obj = self.pool.get('ir.model.data')
- result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
- id = mod_obj.read(cr, uid, result, ['res_id'])
- lots = order_obj.browse(cr, uid, context.get('active_ids', []), context=context)
- for current in self.browse(cr, uid, ids, context=context):
- invoice_number = current.number
- for lot in lots:
- up_auction = order_obj.write(cr, uid, [lot.id], {'ach_uid': current.buyer_id.id})
- lots_ids = order_obj.lots_invoice(cr, uid, context.get('active_ids', []), context, current.number)
- return {
- 'domain': "[('id','in', ["+','.join(map(str, lots_ids))+"])]",
- 'name': 'Buyer invoices',
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'res_model': 'account.invoice',
- 'view_id': False,
- 'context': "{'type':'in_refund'}",
- 'type': 'ir.actions.act_window',
- 'search_view_id': id['res_id']
- }
-
-auction_lots_make_invoice_buyer()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_lots_make_invoice_buyer_view.xml b/addons/auction/wizard/auction_lots_make_invoice_buyer_view.xml
deleted file mode 100644
index 2483f522a58..00000000000
--- a/addons/auction/wizard/auction_lots_make_invoice_buyer_view.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
- auction.lots.make.invoice.buyer.form
- auction.lots.make.invoice.buyer
- form
-
-
-
-
-
-
- Numerotation (per lot)
- ir.actions.act_window
- auction.lots.numerotate
- form
- form
-
- new
-
-
-
- auction.lots.numerotate.not_exist
- auction.lots.numerotate
- form
-
-
-
-
-
-
-
-
-
-
-
-
- Numerotation - Not Exist
- ir.actions.act_window
- auction.lots.numerotate
- form
- form
-
- new
-
-
-
- Numerotation (automatic)
- auction.lots.numerotate_cont
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_lots_sms_send.py b/addons/auction/wizard/auction_lots_sms_send.py
deleted file mode 100644
index fe05e538be7..00000000000
--- a/addons/auction/wizard/auction_lots_sms_send.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import fields, osv
-from tools.translate import _
-import tools
-
-class auction_lots_sms_send(osv.osv_memory):
-
- _name = "auction.lots.sms.send"
- _description = "Sms send "
- _columns= {
- 'app_id':fields.char('API ID', size=64, required=True),
- 'user':fields.char('Login', size=64, required=True),
- 'password':fields.char('Password', size=64, required=True),
- 'text':fields.text('SMS Message', required=True)
- }
-
- def sms_send(self, cr, uid, ids, context=None):
- """
- to send sms
-
- @param cr: the current row, from the database cursor.
- @param uid: the current user’s ID for security checks.
- @param ids: the ID or list of IDs
- @param context: A standard dictionary
- @return: number indicating the acknowledgement
- """
- if context is None: context = {}
- lot_obj = self.pool.get('auction.lots')
- partner_obj = self.pool.get('res.partner')
- for data in self.read(cr, uid, ids, context=context):
- lots = lot_obj.read(cr, uid, context.get('active_ids', []), ['obj_num','obj_price','ach_uid'])
- res = partner_obj.read(cr, uid, [l['ach_uid'][0] for l in lots if l['ach_uid']], ['gsm'], context)
- nbr = 0
- for r in res:
- add = partner_obj.address_get(cr, uid, [r['id']])['default']
- addr = partner_obj.browse(cr, uid, add, context=context)
- to = addr.mobile
- if to:
- tools.sms_send(data['user'], data['password'], data['app_id'], unicode(data['text'], 'utf-8').encode('latin1'), to)
- nbr += 1
- return {'sms_sent': nbr}
-auction_lots_sms_send()
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/wizard/auction_lots_sms_send_view.xml b/addons/auction/wizard/auction_lots_sms_send_view.xml
deleted file mode 100644
index e7146bed395..00000000000
--- a/addons/auction/wizard/auction_lots_sms_send_view.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
- auction.lots.sms.send.form
- auction.lots.sms.send
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_pay_buy.py b/addons/auction/wizard/auction_pay_buy.py
deleted file mode 100644
index f73552aa69f..00000000000
--- a/addons/auction/wizard/auction_pay_buy.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import fields, osv
-from tools.translate import _
-import time
-import tools
-
-class auction_pay_buy(osv.osv_memory):
- _name = "auction.pay.buy"
- _description = "Pay buy"
- _columns= {
- 'amount': fields.float('Amount', digits= (16, 2), help="Amount For First Bank Statement"),
- 'buyer_id':fields.many2one('res.partner', 'Buyer'),
- 'statement_id1':fields.many2one('account.bank.statement', 'Statement', required=True, help="First Bank Statement For Buyer"),
- 'amount2': fields.float('Amount', digits= (16, 2), help="Amount For Second Bank Statement"),
- 'statement_id2':fields.many2one('account.bank.statement', 'Statement', help="Second Bank Statement For Buyer"),
- 'amount3': fields.float('Amount', digits = (16, 2), help="Amount For Third Bank Statement"),
- 'statement_id3':fields.many2one('account.bank.statement', 'Statement', help="Third Bank Statement For Buyer"),
- 'total': fields.float('Total Amount', digits = (16, 2), readonly =True),
- }
-
- def default_get(self, cr, uid, fields, context=None):
- """
- To get default values for the object.
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param fields: List of fields for which we want default values
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
- """
- if context is None:
- context={}
- res = super(auction_pay_buy, self).default_get(cr, uid, fields, context=context)
- auction_lots_obj= self.pool.get('auction.lots')
- for lot in auction_lots_obj.browse(cr, uid, context.get('active_ids', []), context=context):
- if 'amount' in fields:
- res.update({'amount': lot.buyer_price})
- if 'buyer_id' in fields:
- res.update({'buyer_id': lot.ach_uid and lot.ach_uid.id or False})
- if 'total' in fields:
- res.update({'total': lot.buyer_price})
- return res
-
- def pay_and_reconcile(self, cr, uid, ids, context=None):
- """
- Pay and Reconcile
- @param cr: the current row, from the database cursor.
- @param uid: the current user’s ID for security checks.
- @param ids: the ID or list of IDs
- @param context: A standard dictionary
- @return:
- """
- if context is None: context = {}
- lot_obj = self.pool.get('auction.lots')
- bank_statement_line_obj = self.pool.get('account.bank.statement.line')
-
- for datas in self.read(cr, uid, ids, context=context):
- if not abs(datas['total'] - (datas['amount'] + datas['amount2'] + datas['amount3'])) <0.01:
- rest = datas['total'] - (datas['amount'] + datas['amount2'] + datas['amount3'])
- raise osv.except_osv(_('Payment aborted !'), _('You should pay all the total: "%.2f" are missing to accomplish the payment.') %(round(rest, 2)))
-
- lots = lot_obj.browse(cr, uid, context.get('active_ids', []), context=context)
- for lot in lots:
- if datas['buyer_id']:
- if isinstance(datas['buyer_id'], (tuple, list)):
- datas['buyer_id'] = datas['buyer_id'][0]
- lot_obj.write(cr, uid, [lot.id], {'ach_uid': datas['buyer_id']})
- if not lot.auction_id:
- raise osv.except_osv(_('Error!'), _('No auction date for "%s": Please set one.') % (lot.name))
- lot_obj.write(cr, uid, [lot.id], {'is_ok':True})
- for st, stamount in [('statement_id1', 'amount'), ('statement_id2', 'amount2'), ('statement_id3', 'amount3')]:
- if isinstance(datas[st], tuple):
- datas[st] = datas[st][0]
- if datas[st]:
- new_id = bank_statement_line_obj.create(cr, uid, {
- 'name':'Buyer:'+ str(lot.ach_login or '')+', auction:'+ lots[0].auction_id.name,
- 'date': time.strftime('%Y-%m-%d'),
- 'partner_id': datas['buyer_id'] or False,
- 'type':'customer',
- 'statement_id': datas[st],
- 'account_id': lot.auction_id.acc_income.id,
- 'amount': datas[stamount]
- })
- for lot in lots:
- lot_obj.write(cr, uid, [lot.id], {'statement_id':[(4, new_id)]})
- return {'type': 'ir.actions.act_window_close'}
-auction_pay_buy()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/wizard/auction_pay_buy_view.xml b/addons/auction/wizard/auction_pay_buy_view.xml
deleted file mode 100644
index f7059d1374e..00000000000
--- a/addons/auction/wizard/auction_pay_buy_view.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
- auction.pay.buy.form
- auction.pay.buy
- form
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_pay_sel.py b/addons/auction/wizard/auction_pay_sel.py
deleted file mode 100644
index 42ea08e8094..00000000000
--- a/addons/auction/wizard/auction_pay_sel.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-from osv import fields, osv
-from tools.translate import _
-import tools
-
-class auction_pay_sel(osv.osv_memory):
- _name = "auction.pay.sel"
- _description = "Pay Invoice"
-
- _columns= {
- 'amount': fields.float('Amount paid', digits= (16, 2), required=True),
- 'dest_account_id':fields.many2one('account.account', 'Payment to Account', required=True, domain= [('type', '=', 'cash')]),
- 'journal_id':fields.many2one('account.journal', 'Journal', required=True),
- 'period_id':fields.many2one('account.period', 'Period', required=True),
- }
-
- def pay_and_reconcile(self, cr, uid, ids, context=None):
- """
- Pay and Reconcile
- @param cr: the current row, from the database cursor.
- @param uid: the current user’s ID for security checks.
- @param ids: the ID or list of IDs
- @param context: A standard dictionary
- @return:
- """
- if context is None:
- context = {}
- lot = self.pool.get('auction.lots').browse(cr, uid, context['active_id'], context=context)
- invoice_obj = self.pool.get('account.invoice')
- for datas in self.read(cr, uid, ids, context=context):
- account_id = datas.get('writeoff_acc_id', False)
- period_id = datas.get('period_id', False)
- journal_id = datas.get('journal_id', False)
- if lot.sel_inv_id:
- p = invoice_obj.pay_and_reconcile(['lot.sel_inv_id.id'], datas['amount'], datas['dest_account_id'], journal_id, account_id, period_id, journal_id, context)
- return {'type': 'ir.actions.act_window_close'}
-
-auction_pay_sel()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_pay_sel_view.xml b/addons/auction/wizard/auction_pay_sel_view.xml
deleted file mode 100644
index 2570b7a7a0a..00000000000
--- a/addons/auction/wizard/auction_pay_sel_view.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- auction.pay.sel.form
- auction.pay.sel
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pay objects of the seller
- auction.pay.sel
- form
- tree,form
-
- new
-
-
-
-
diff --git a/addons/auction/wizard/auction_payer_sel.py b/addons/auction/wizard/auction_payer_sel.py
deleted file mode 100644
index 8ad2f5ca019..00000000000
--- a/addons/auction/wizard/auction_payer_sel.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import fields, osv
-
-class auction_payer(osv.osv_memory):
- _name = "auction.payer"
- _description = "Auction payer"
-
- def payer(self, cr, uid, ids, context=None):
- if context is None:
- context = {}
- self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'is_ok':True, 'state':'paid'})
- return {'type': 'ir.actions.act_window_close'}
-
-auction_payer()
-
-class auction_payer_sel(osv.osv_memory):
- """
- For Mark as payment for seller
- """
- _name = "auction.payer.sel"
- _description = "Auction payment for seller"
-
- def payer_sel(self, cr, uid, ids, context=None):
- """
- This function Update auction lots object and seller paid true.
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of auction payer sel’s IDs.
- """
- if context is None:
- context = {}
- self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'paid_vnd':True})
- return {'type': 'ir.actions.act_window_close'}
-
-auction_payer_sel()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/auction/wizard/auction_payer_sel_view.xml b/addons/auction/wizard/auction_payer_sel_view.xml
deleted file mode 100644
index 57c43df8fe4..00000000000
--- a/addons/auction/wizard/auction_payer_sel_view.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- auction.payer.form
- auction.payer
- form
-
-
-
-
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_taken.py b/addons/auction/wizard/auction_taken.py
deleted file mode 100644
index 38ac6dca2fe..00000000000
--- a/addons/auction/wizard/auction_taken.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-from osv import fields, osv
-
-class auction_taken(osv.osv_memory):
- """
- Auction lots taken.
- """
- _name = "auction.taken"
- _description = "Auction taken"
-
- _columns = {
- 'lot_ids':fields.many2many('auction.lots', 'auction_taken_rel', 'taken_id', 'lot_id', 'Lots Emportes'),
- }
-
- def _to_xml(s):
- return s.replace('&', '&').replace('<', '<').replace('>', '>')
-
- def process(self, cr, uid, ids, context=None):
- """
- This Function update Auction lots state to taken_away.
- @param cr: the current row, from the database cursor.
- @param uid: the current user’s ID for security checks.
- @param ids: List of Auction taken’s IDs
- @return: dictionary of lot_ids fields with empty list
- """
- if context is None:
- context={}
- lot_obj = self.pool.get('auction.lots')
- for current in self.browse(cr, uid, ids, context=context):
- for lot in current.lot_ids:
- lot_obj.write(cr, uid, lot.id, {'state':'taken_away', 'ach_emp': True})
- return {'lot_ids': []}
-
-auction_taken()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_taken_view.xml b/addons/auction/wizard/auction_taken_view.xml
deleted file mode 100644
index cbb475f3d28..00000000000
--- a/addons/auction/wizard/auction_taken_view.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
- auction.taken.form
- auction.taken
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Gestion emporte
- auction.taken
- form
- tree,form
-
- new
-
-
-
-
-
diff --git a/addons/auction/wizard/auction_transfer_unsold_object.py b/addons/auction/wizard/auction_transfer_unsold_object.py
deleted file mode 100644
index 0e52199e566..00000000000
--- a/addons/auction/wizard/auction_transfer_unsold_object.py
+++ /dev/null
@@ -1,88 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import osv
-from osv import fields
-
-class auction_transfer_unsold_object(osv.osv):
- '''
- OpenERP Model
- '''
- _name = 'auction.transfer.unsold.object'
- _description = 'To transfer unsold objects'
-
- def _start(self, cr, uid, context=None):
- """
- To initialize auction_id_from
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param ids: List of IDs selected
- @param context: A standard dictionary
- @return: auction_id_from
- """
- lots_obj = self.pool.get('auction.lots')
- rec = lots_obj.browse(cr, uid, context.get('active_id', False), context=context)
- auction_from = rec and rec.auction_id.id or False
- return auction_from
-
- _columns = {
- 'auction_id_from':fields.many2one('auction.dates', 'From Auction Date', required=True),
- 'auction_id_to':fields.many2one('auction.dates', 'To Auction Date', required=True),
- }
-
- _defaults = {
- 'auction_id_from': _start,
- }
-
- def transfer_unsold_object(self, cr, uid, ids, context=None):
- """
- To Transfer the unsold object
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param ids: List of IDs selected
- @param context: A standard dictionary
- @return:
- """
- if context is None: context = {}
- bid_line_obj = self.pool.get('auction.bid_line')
- lots_obj = self.pool.get('auction.lots')
- lot_history_obj = self.pool.get('auction.lot.history')
- line_ids= bid_line_obj.search(cr, uid, [('lot_id','in',context.get('active_ids', []))])
- bid_line_obj.unlink(cr, uid, line_ids)
-
- res = self.browse(cr, uid, ids, context=context)
- unsold_ids = lots_obj.search(cr,uid,[('auction_id','=',res[0].auction_id_from.id),('state','=','unsold')])
- for rec in lots_obj.browse(cr, uid, unsold_ids, context=context):
- new_id = lot_history_obj.create(cr, uid, {'auction_id':rec.auction_id.id,'lot_id':rec.id,'price': rec.obj_ret, 'name': rec.auction_id.auction1})
- up_auction = lots_obj.write(cr, uid, [rec.id], {'auction_id': res[0].auction_id_to.id,
- 'obj_ret':None,
- 'obj_price':None,
- 'ach_login':None,
- 'ach_uid':None,
- 'ach_inv_id':None,
- 'sel_inv_id':None,
- 'state':'draft'})
- return {'type': 'ir.actions.act_window_close'}
-
-auction_transfer_unsold_object()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auction/wizard/auction_transfer_unsold_object_view.xml b/addons/auction/wizard/auction_transfer_unsold_object_view.xml
deleted file mode 100644
index 3914b012a52..00000000000
--- a/addons/auction/wizard/auction_transfer_unsold_object_view.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- auction.transfer.unsold.object.form
- auction.transfer.unsold.object
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/audittrail/i18n/ja.po b/addons/audittrail/i18n/ja.po
new file mode 100644
index 00000000000..a3d469d0362
--- /dev/null
+++ b/addons/audittrail/i18n/ja.po
@@ -0,0 +1,369 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-18 23:37+0000\n"
+"Last-Translator: Akira Hiyama \n"
+"Language-Team: Japanese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-20 04:38+0000\n"
+"X-Generator: Launchpad (build 15259)\n"
+
+#. module: audittrail
+#: code:addons/audittrail/audittrail.py:75
+#, python-format
+msgid "WARNING: audittrail is not part of the pool"
+msgstr "警告。監査証跡は貯蔵の一部ではありません。"
+
+#. module: audittrail
+#: field:audittrail.log.line,log_id:0
+msgid "Log"
+msgstr "ログ"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+#: selection:audittrail.rule,state:0
+msgid "Subscribed"
+msgstr "申込済"
+
+#. module: audittrail
+#: sql_constraint:audittrail.rule:0
+msgid ""
+"There is already a rule defined on this object\n"
+" You cannot define another: please edit the existing one."
+msgstr "このオブジェクトでは既にルールが定義されているので、他のルールの定義ができません:既存のルールを変更して下さい。"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "Subscribed Rule"
+msgstr "申込済ルール"
+
+#. module: audittrail
+#: model:ir.model,name:audittrail.model_audittrail_rule
+msgid "Audittrail Rule"
+msgstr "監査証跡ルール"
+
+#. module: audittrail
+#: view:audittrail.view.log:0
+#: model:ir.actions.act_window,name:audittrail.action_audittrail_log_tree
+#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_log_tree
+msgid "Audit Logs"
+msgstr "監査ログ"
+
+#. module: audittrail
+#: view:audittrail.log:0
+#: view:audittrail.rule:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+#: field:audittrail.rule,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "_Subscribe"
+msgstr "_申込"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+#: selection:audittrail.rule,state:0
+msgid "Draft"
+msgstr "ドラフト"
+
+#. module: audittrail
+#: field:audittrail.log.line,old_value:0
+msgid "Old Value"
+msgstr "旧値"
+
+#. module: audittrail
+#: model:ir.actions.act_window,name:audittrail.action_audittrail_view_log
+msgid "View log"
+msgstr "ログ表示"
+
+#. module: audittrail
+#: help:audittrail.rule,log_read:0
+msgid ""
+"Select this if you want to keep track of read/open on any record of the "
+"object of this rule"
+msgstr "このルールのオブジェクトの全レコード上の読み込みや開かれたことを追跡する場合は、これを選択して下さい。"
+
+#. module: audittrail
+#: field:audittrail.log,method:0
+msgid "Method"
+msgstr "方法"
+
+#. module: audittrail
+#: field:audittrail.view.log,from:0
+msgid "Log From"
+msgstr "ログフォーム"
+
+#. module: audittrail
+#: field:audittrail.log.line,log:0
+msgid "Log ID"
+msgstr "ログID"
+
+#. module: audittrail
+#: field:audittrail.log,res_id:0
+msgid "Resource Id"
+msgstr "リソースID"
+
+#. module: audittrail
+#: help:audittrail.rule,user_id:0
+msgid "if User is not added then it will applicable for all users"
+msgstr "ユーザが追加されない場合、全てのユーザに適用されます。"
+
+#. module: audittrail
+#: help:audittrail.rule,log_workflow:0
+msgid ""
+"Select this if you want to keep track of workflow on any record of the "
+"object of this rule"
+msgstr "このルールのオブジェクトの全レコード上のワークフローを追跡する場合は、これを選択して下さい。"
+
+#. module: audittrail
+#: field:audittrail.rule,user_id:0
+msgid "Users"
+msgstr "ユーザ"
+
+#. module: audittrail
+#: view:audittrail.log:0
+msgid "Log Lines"
+msgstr "ログ行"
+
+#. module: audittrail
+#: view:audittrail.log:0
+#: field:audittrail.log,object_id:0
+#: field:audittrail.rule,object_id:0
+msgid "Object"
+msgstr "オブジェクト"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "AuditTrail Rule"
+msgstr "監査証跡ルール"
+
+#. module: audittrail
+#: field:audittrail.view.log,to:0
+msgid "Log To"
+msgstr "ログの先"
+
+#. module: audittrail
+#: view:audittrail.log:0
+msgid "New Value Text: "
+msgstr "テキストの新しい値: "
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "Search Audittrail Rule"
+msgstr "監査証跡ルールの検索"
+
+#. module: audittrail
+#: model:ir.actions.act_window,name:audittrail.action_audittrail_rule_tree
+#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree
+msgid "Audit Rules"
+msgstr "監査ルール"
+
+#. module: audittrail
+#: view:audittrail.log:0
+msgid "Old Value : "
+msgstr "旧値: "
+
+#. module: audittrail
+#: field:audittrail.log,name:0
+msgid "Resource Name"
+msgstr "リソース名"
+
+#. module: audittrail
+#: view:audittrail.log:0
+#: field:audittrail.log,timestamp:0
+msgid "Date"
+msgstr "日付"
+
+#. module: audittrail
+#: help:audittrail.rule,log_write:0
+msgid ""
+"Select this if you want to keep track of modification on any record of the "
+"object of this rule"
+msgstr "このルールのオブジェクトの全レコード上の変更を追跡する場合は、これを選択して下さい。"
+
+#. module: audittrail
+#: field:audittrail.rule,log_create:0
+msgid "Log Creates"
+msgstr "ログ作成"
+
+#. module: audittrail
+#: help:audittrail.rule,object_id:0
+msgid "Select object for which you want to generate log."
+msgstr "ログを生成するオブジェクトを選択して下さい。"
+
+#. module: audittrail
+#: view:audittrail.log:0
+msgid "Old Value Text : "
+msgstr "テキストの旧値: "
+
+#. module: audittrail
+#: field:audittrail.rule,log_workflow:0
+msgid "Log Workflow"
+msgstr "ワークフローログ"
+
+#. module: audittrail
+#: field:audittrail.rule,log_read:0
+msgid "Log Reads"
+msgstr "読み込みログ"
+
+#. module: audittrail
+#: code:addons/audittrail/audittrail.py:76
+#, python-format
+msgid "Change audittrail depends -- Setting rule as DRAFT"
+msgstr "監査証跡依存の変更 - ドラフトのルール設定"
+
+#. module: audittrail
+#: field:audittrail.log,line_ids:0
+msgid "Log lines"
+msgstr "ログ行"
+
+#. module: audittrail
+#: field:audittrail.log.line,field_id:0
+msgid "Fields"
+msgstr "項目"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "AuditTrail Rules"
+msgstr "監査証跡ルール"
+
+#. module: audittrail
+#: help:audittrail.rule,log_unlink:0
+msgid ""
+"Select this if you want to keep track of deletion on any record of the "
+"object of this rule"
+msgstr "このルールのオブジェクトの全レコード上の削除を追跡する場合は、これを選択して下さい。"
+
+#. module: audittrail
+#: view:audittrail.log:0
+#: field:audittrail.log,user_id:0
+msgid "User"
+msgstr "ユーザ"
+
+#. module: audittrail
+#: field:audittrail.rule,action_id:0
+msgid "Action ID"
+msgstr "アクションID"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "Users (if User is not added then it will applicable for all users)"
+msgstr "ユーザ(ユーザが追加されない時は全てのユーザに適用されます)"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "UnSubscribe"
+msgstr "申込中止"
+
+#. module: audittrail
+#: field:audittrail.rule,log_unlink:0
+msgid "Log Deletes"
+msgstr "ログ削除"
+
+#. module: audittrail
+#: field:audittrail.log.line,field_description:0
+msgid "Field Description"
+msgstr "項目詳細"
+
+#. module: audittrail
+#: view:audittrail.log:0
+msgid "Search Audittrail Log"
+msgstr "監査証跡ログの検索"
+
+#. module: audittrail
+#: field:audittrail.rule,log_write:0
+msgid "Log Writes"
+msgstr "ログ書込"
+
+#. module: audittrail
+#: view:audittrail.view.log:0
+msgid "Open Logs"
+msgstr "ログを開く"
+
+#. module: audittrail
+#: field:audittrail.log.line,new_value_text:0
+msgid "New value Text"
+msgstr "テキストの新しい値"
+
+#. module: audittrail
+#: field:audittrail.rule,name:0
+msgid "Rule Name"
+msgstr "ルール名"
+
+#. module: audittrail
+#: field:audittrail.log.line,new_value:0
+msgid "New Value"
+msgstr "新しい値"
+
+#. module: audittrail
+#: view:audittrail.log:0
+msgid "AuditTrail Logs"
+msgstr "監査証跡ログ"
+
+#. module: audittrail
+#: view:audittrail.rule:0
+msgid "Draft Rule"
+msgstr "ドラフトルール"
+
+#. module: audittrail
+#: model:ir.model,name:audittrail.model_audittrail_log
+msgid "Audittrail Log"
+msgstr "監査証跡ログ"
+
+#. module: audittrail
+#: help:audittrail.rule,log_action:0
+msgid ""
+"Select this if you want to keep track of actions on the object of this rule"
+msgstr "このルールのオブジェクトの全レコード上のアクションを追跡する場合は、これを選択して下さい。"
+
+#. module: audittrail
+#: view:audittrail.log:0
+msgid "New Value : "
+msgstr "新しい値: "
+
+#. module: audittrail
+#: field:audittrail.log.line,old_value_text:0
+msgid "Old value Text"
+msgstr "テキストの旧値"
+
+#. module: audittrail
+#: view:audittrail.view.log:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: audittrail
+#: model:ir.model,name:audittrail.model_audittrail_view_log
+msgid "View Log"
+msgstr "ログの表示"
+
+#. module: audittrail
+#: model:ir.model,name:audittrail.model_audittrail_log_line
+msgid "Log Line"
+msgstr "ログ行"
+
+#. module: audittrail
+#: field:audittrail.rule,log_action:0
+msgid "Log Action"
+msgstr "ログアクション"
+
+#. module: audittrail
+#: help:audittrail.rule,log_create:0
+msgid ""
+"Select this if you want to keep track of creation on any record of the "
+"object of this rule"
+msgstr "このルールのオブジェクトの全レコード上の作成を追跡する場合は、これを選択して下さい。"
diff --git a/addons/auth_openid/i18n/ja.po b/addons/auth_openid/i18n/ja.po
index 0fb36cdb6be..b1ef2ae3a99 100644
--- a/addons/auth_openid/i18n/ja.po
+++ b/addons/auth_openid/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-04-26 08:00+0000\n"
-"Last-Translator: Tomomi Mengelberg \n"
+"PO-Revision-Date: 2012-05-19 03:56+0000\n"
+"Last-Translator: Akira Hiyama \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-27 04:38+0000\n"
-"X-Generator: Launchpad (build 15149)\n"
+"X-Launchpad-Export-Date: 2012-05-20 04:38+0000\n"
+"X-Generator: Launchpad (build 15259)\n"
#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
#. module: auth_openid
@@ -53,7 +53,7 @@ msgstr "OpenID Eメール"
#. module: auth_openid
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
-msgstr "選択された会社は、このユーザに許された会社ではありません。"
+msgstr "選択した会社は、このユーザに許された会社ではありません。"
#. module: auth_openid
#: field:res.users,openid_key:0
diff --git a/addons/base_action_rule/i18n/ja.po b/addons/base_action_rule/i18n/ja.po
new file mode 100644
index 00000000000..2fc7e0fef91
--- /dev/null
+++ b/addons/base_action_rule/i18n/ja.po
@@ -0,0 +1,504 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-19 02:19+0000\n"
+"Last-Translator: Akira Hiyama \n"
+"Language-Team: Japanese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-20 04:38+0000\n"
+"X-Generator: Launchpad (build 15259)\n"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_mail_to_user:0
+msgid ""
+"Check this if you want the rule to send an email to the responsible person."
+msgstr "責任者にメールを送信するためのルールを望む場合は、ここをチェックして下さい。"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_remind_partner:0
+msgid "Remind Partner"
+msgstr "パートナを思い出して下さい。"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_partner_categ_id:0
+msgid "Partner Category"
+msgstr "取引先分類"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_mail_to_watchers:0
+msgid "Mail to Watchers (CC)"
+msgstr "関連人にCCを送信"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_state_to:0
+msgid "Button Pressed"
+msgstr "ボタンが押されました。"
+
+#. module: base_action_rule
+#: field:base.action.rule,model_id:0
+msgid "Object"
+msgstr "オブジェクト"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_mail_to_email:0
+msgid "Mail to these Emails"
+msgstr "これらのEメールへのメール"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_state:0
+msgid "Set State to"
+msgstr "状態を設定:"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_email_from:0
+msgid "Email From"
+msgstr "Eメールフォーム"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Email Body"
+msgstr "Eメール本体"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_range_type:0
+msgid "Days"
+msgstr "日"
+
+#. module: base_action_rule
+#: field:base.action.rule,last_run:0
+msgid "Last Run"
+msgstr "最終実行"
+
+#. module: base_action_rule
+#: code:addons/base_action_rule/base_action_rule.py:328
+#, python-format
+msgid "Error!"
+msgstr "エラー"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_reply_to:0
+msgid "Reply-To"
+msgstr "返信先"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_email_cc:0
+msgid ""
+"These people will receive a copy of the future communication between partner "
+"and users by email"
+msgstr "これらの人達はEメールによるパートナとユーザ間の未来の通信のコピーを受け取ります。"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_range_type:0
+msgid "Minutes"
+msgstr "分"
+
+#. module: base_action_rule
+#: field:base.action.rule,name:0
+msgid "Rule Name"
+msgstr "ルール名"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_remind_partner:0
+msgid ""
+"Check this if you want the rule to send a reminder by email to the partner."
+msgstr "パートナにEメールによる通知を送るルールが必要な場合、これをチェックして下さい。"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Conditions on Model Partner"
+msgstr "モデルパートナとしての条件"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_type:0
+msgid "Deadline"
+msgstr "締切期限"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_partner_id:0
+msgid "Partner"
+msgstr "パートナ"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(object_subject)s = Object subject"
+msgstr "%(object_subject)s = オブジェクトの件名"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Email Reminders"
+msgstr "Eメールの通知"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Special Keywords to be Used in the Body"
+msgstr "本文に使用する特別なキーワード"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_state_from:0
+msgid "State"
+msgstr "状態"
+
+#. module: base_action_rule
+#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act
+msgid ""
+"Use automated actions to automatically trigger actions for various screens. "
+"Example: a lead created by a specific user may be automatically set to a "
+"specific sales team, or an opportunity which still has status pending after "
+"14 days might trigger an automatic reminder email."
+msgstr ""
+"多種の画面のために自動的なアクションを自動的にトリガー実行するために使って下さい。例えば、特定のユーザにより作成されたリードには自動的に特定の営業チームを"
+"設定したり、オポチュニティが保留中になって14日を経過したので、自動的に通知Eメールの送信をトリガーしたりできます。"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_mail_to_email:0
+msgid "Email-id of the persons whom mail is to be sent"
+msgstr "メールを送信した人のEメールID"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Action Rule"
+msgstr "アクションルール"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Fields to Change"
+msgstr "変更する項目"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_type:0
+msgid "Creation Date"
+msgstr "作成日"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_type:0
+msgid "Last Action Date"
+msgstr "最新実行日"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_range_type:0
+msgid "Hours"
+msgstr "時間"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(object_id)s = Object ID"
+msgstr "%(object_id)s = オブジェクトID"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Delay After Trigger Date"
+msgstr "トリガー日後の遅延"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_remind_attach:0
+msgid "Remind with Attachment"
+msgstr "添付とともに通知"
+
+#. module: base_action_rule
+#: constraint:ir.cron:0
+msgid "Invalid arguments"
+msgstr "無効な引数"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_user_id:0
+msgid "Set Responsible to"
+msgstr "責任者の設定"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_type:0
+msgid "None"
+msgstr "なし"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_email_to:0
+msgid ""
+"Use a python expression to specify the right field on which one than we will "
+"use for the 'To' field of the header"
+msgstr "ヘッダーのTo項目を使用するよりも正しい項目を定義するにはPython表現を使用して下さい。"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(object_user_phone)s = Responsible phone"
+msgstr "%(object_user_phone)s = 連絡先電話"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid ""
+"The rule uses the AND operator. The model must match all non-empty fields so "
+"that the rule executes the action described in the 'Actions' tab."
+msgstr ""
+"ルールはAND演算子を使用します。アクションタブで定義されたアクションを実行するルールのために、モデルは全ての空でない項目と一致する必要があります。"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_date_range_type:0
+msgid "Delay type"
+msgstr "遅延タイプ"
+
+#. module: base_action_rule
+#: help:base.action.rule,regex_name:0
+msgid ""
+"Regular expression for matching name of the resource\n"
+"e.g.: 'urgent.*' will search for records having name starting with the "
+"string 'urgent'\n"
+"Note: This is case sensitive search."
+msgstr ""
+"リソースの名前を一致させる正規表現\n"
+"例:\"urgent.*\" は文字列 \"urgent\" で始まる名前を持つレコードが検索されます.\n"
+"注記:この検索は大文字と小文字を区別します。"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_method:0
+msgid "Call Object Method"
+msgstr "オブジェクトメソッドの呼び出し"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_email_to:0
+msgid "Email To"
+msgstr "Eメール宛先"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_mail_to_watchers:0
+msgid ""
+"Check this if you want the rule to mark CC(mail to any other person defined "
+"in actions)."
+msgstr "ルールにCC(アクションで定義されている他の人へのメール)を付けることを望む場合、ここをチェックして下さい。"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(partner)s = Partner name"
+msgstr "%(partner)s = パートナ名"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Note"
+msgstr "注記"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_email_from:0
+msgid ""
+"Use a python expression to specify the right field on which one than we will "
+"use for the 'From' field of the header"
+msgstr "ヘッダーのFrom項目を使うより正しい項目を定義するためにはPython表現を使用して下さい。"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_date_range:0
+msgid "Delay after trigger date"
+msgstr "トリガー日後の遅延"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Conditions"
+msgstr "条件"
+
+#. module: base_action_rule
+#: help:base.action.rule,trg_date_range:0
+msgid ""
+"Delay After Trigger Date,specifies you can put a negative number. If you "
+"need a delay before the trigger date, like sending a reminder 15 minutes "
+"before a meeting."
+msgstr "ミーティングの15分前に通知を送信したいといったトリガー日前の遅延が必要な場合には、トリガー日後の遅延は負の数値を定義できます。"
+
+#. module: base_action_rule
+#: field:base.action.rule,active:0
+msgid "Active"
+msgstr "アクティブ"
+
+#. module: base_action_rule
+#: code:addons/base_action_rule/base_action_rule.py:329
+#, python-format
+msgid "No E-Mail ID Found for your Company address!"
+msgstr "あなたの会社住所にEメールアドレスが見つかりません。"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_remind_user:0
+msgid "Remind Responsible"
+msgstr "責任者への通知"
+
+#. module: base_action_rule
+#: help:base.action.rule,sequence:0
+msgid "Gives the sequence order when displaying a list of rules."
+msgstr "ルールのリストを表示する時には、並び順を指定して下さい。"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_range_type:0
+msgid "Months"
+msgstr "月"
+
+#. module: base_action_rule
+#: field:base.action.rule,filter_id:0
+msgid "Filter"
+msgstr "フィルタ"
+
+#. module: base_action_rule
+#: selection:base.action.rule,trg_date_type:0
+msgid "Date"
+msgstr "日付"
+
+#. module: base_action_rule
+#: help:base.action.rule,server_action_id:0
+msgid ""
+"Describes the action name.\n"
+"eg:on which object which action to be taken on basis of which condition"
+msgstr ""
+"アクション名を記述して下さい:\n"
+"例:どのオブジェクトがどの条件に基づきどのアクションを実行するか"
+
+#. module: base_action_rule
+#: model:ir.model,name:base_action_rule.model_ir_cron
+msgid "ir.cron"
+msgstr ""
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(object_description)s = Object description"
+msgstr "%(object_description)s = オブジェクトの説明"
+
+#. module: base_action_rule
+#: constraint:base.action.rule:0
+msgid "Error: The mail is not well formated"
+msgstr "エラー:メールが上手くフォーマットされていません。"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Email Actions"
+msgstr "Eメールアクション"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Email Information"
+msgstr "Eメール情報"
+
+#. module: base_action_rule
+#: model:ir.model,name:base_action_rule.model_base_action_rule
+msgid "Action Rules"
+msgstr "アクションルール"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_mail_body:0
+msgid "Content of mail"
+msgstr "メールのコンテンツ"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_user_id:0
+msgid "Responsible"
+msgstr "責任者"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(partner_email)s = Partner Email"
+msgstr "%(partner_email)s = パートナEメール"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(object_date)s = Creation date"
+msgstr "%(object_date)s = 作成日"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(object_user_email)s = Responsible Email"
+msgstr "%(object_user_email)s = 責任者Eメール"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_mail_body:0
+msgid "Mail body"
+msgstr "メール本文"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_remind_user:0
+msgid ""
+"Check this if you want the rule to send a reminder by email to the user."
+msgstr "ユーザにEメールによって通知を送信するルールを希望する場合、ここをチェックして下さい。"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Server Action to be Triggered"
+msgstr "トリガーされるサーバアクション"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_mail_to_user:0
+msgid "Mail to Responsible"
+msgstr "責任者へのメール"
+
+#. module: base_action_rule
+#: field:base.action.rule,act_email_cc:0
+msgid "Add Watchers (Cc)"
+msgstr "関連人(CC)を追加"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Conditions on Model Fields"
+msgstr "モデル項目の条件"
+
+#. module: base_action_rule
+#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act
+#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form
+msgid "Automated Actions"
+msgstr "自動的なアクション"
+
+#. module: base_action_rule
+#: field:base.action.rule,server_action_id:0
+msgid "Server Action"
+msgstr "サーバアクション"
+
+#. module: base_action_rule
+#: field:base.action.rule,regex_name:0
+msgid "Regex on Resource Name"
+msgstr "リソース名の正規表現"
+
+#. module: base_action_rule
+#: help:base.action.rule,act_remind_attach:0
+msgid ""
+"Check this if you want that all documents attached to the object be attached "
+"to the reminder email sent."
+msgstr "通知メール送信の際にオブジェクトに添付された全てのドキュメントを添付したい場合は、ここをチェックして下さい。"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Conditions on Timing"
+msgstr "タイミングの条件"
+
+#. module: base_action_rule
+#: field:base.action.rule,sequence:0
+msgid "Sequence"
+msgstr "順序"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Actions"
+msgstr "アクション"
+
+#. module: base_action_rule
+#: help:base.action.rule,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the rule "
+"without removing it."
+msgstr "アクティブ項目がFalseに設定された場合、ルールを削除することなく非表示にできます。"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "%(object_user)s = Responsible name"
+msgstr "%(object_user)s = 責任者名"
+
+#. module: base_action_rule
+#: field:base.action.rule,create_date:0
+msgid "Create Date"
+msgstr "作成日"
+
+#. module: base_action_rule
+#: view:base.action.rule:0
+msgid "Conditions on States"
+msgstr "状態の条件"
+
+#. module: base_action_rule
+#: field:base.action.rule,trg_date_type:0
+msgid "Trigger Date"
+msgstr "トリガー日"
diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index 4dffd8bcbf8..f91ded74685 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -333,10 +333,10 @@ class calendar_attendee(osv.osv):
('opt-participant', 'Optional Participation'), \
('non-participant', 'For information Purpose')], 'Role', \
help='Participation role for the calendar user'),
- 'state': fields.selection([('tentative', 'Tentative'),
- ('needs-action', 'Needs Action'),
- ('accepted', 'Accepted'),
+ 'state': fields.selection([('needs-action', 'Needs Action'),
+ ('tentative', 'Tentative'),
('declined', 'Declined'),
+ ('accepted', 'Accepted'),
('delegated', 'Delegated')], 'State', readonly=True, \
help="Status of the attendee's participation"),
'rsvp': fields.boolean('Required Reply?',
@@ -1036,8 +1036,9 @@ class calendar_event(osv.osv):
'Show as', states={'done': [('readonly', True)]}),
'base_calendar_url': fields.char('Caldav URL', size=264),
'state': fields.selection([('tentative', 'Tentative'),
+ ('cancelled', 'Cancelled'),
('confirmed', 'Confirmed'),
- ('cancelled', 'Cancelled')], 'State', readonly=True),
+ ], 'State', readonly=True),
'exdate': fields.text('Exception Date/Times', help="This property \
defines the list of date/time exceptions for a recurring calendar component."),
'exrule': fields.char('Exception Rule', size=352, help="Defines a \
diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml
index 8af1746b5e9..76304c7da8a 100644
--- a/addons/base_calendar/base_calendar_view.xml
+++ b/addons/base_calendar/base_calendar_view.xml
@@ -8,59 +8,64 @@
calendar.attendeeform
-
@@ -602,7 +604,7 @@
context="{'invisible_section': False}"
widget="selection">
form
tree,calendar
- {"search_default_user_id":uid, 'search_default_section_id': section_id}
+ {"search_default_user_id":uid}
@@ -67,7 +67,7 @@
tree,calendar[]
-
+ {}This tool allows you to log your inbound calls on the fly. Each call you get will appear on the partner form to trace every contact you have with a partner. From the phone call form, you can trigger a request for another call, a meeting or an opportunity.
@@ -105,7 +105,7 @@
tree,calendar[('state','!=','done')]
-
+ Scheduled calls list all the calls to be done by your sales team. A salesman can record the information about the call in the form view. This information will be stored in the partner form to trace every contact you have with a customer. You can also import a .CSV file with a list of calls to be done by your sales team.
diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml
index ceaf4922abb..06a89897db6 100644
--- a/addons/crm/crm_phonecall_view.xml
+++ b/addons/crm/crm_phonecall_view.xml
@@ -59,6 +59,17 @@
form
+
+
+
+
+
+
+
+
+
+
+
@@ -104,24 +115,6 @@
-
-
-
-
-
-
-
-
-
@@ -215,7 +208,7 @@
@@ -265,7 +258,7 @@
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index 22f999188e7..dd24ef38911 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -376,32 +376,6 @@
groups="base.group_no_one" sequence="15"
parent="base.menu_base_config" />
-
- view.users.form.crm.modif.inherited1
- res.users
-
- form
-
-
-
-
-
-
-
-
- view.users.form.crm.modif.inherited2
- res.users
- form
-
-
-
-
-
-
-
-
-
diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml
index 2f87da24b4c..734302fa7f9 100644
--- a/addons/crm_claim/crm_claim_menu.xml
+++ b/addons/crm_claim/crm_claim_menu.xml
@@ -20,7 +20,7 @@
formtree,calendar,form
- {'search_default_section_id': section_id,"search_default_user_id":uid, "stage_type":'claim'}
+ {"search_default_user_id":uid, "stage_type":'claim'}Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module.
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index 193545b11af..89567c02397 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -66,8 +66,19 @@
crm.claimform
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -103,25 +114,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/addons/crm_fundraising/crm_fundraising_menu.xml b/addons/crm_fundraising/crm_fundraising_menu.xml
index ae758a58392..38187ed1d4d 100644
--- a/addons/crm_fundraising/crm_fundraising_menu.xml
+++ b/addons/crm_fundraising/crm_fundraising_menu.xml
@@ -13,7 +13,7 @@
crm.fundraisingtree,form,graph
- {"search_default_user_id":uid, 'search_default_section_id': section_id}
+ {"search_default_user_id":uid}If you need to collect money for your organization or a campaign, Fund Raising allows you to track all your fund raising activities. In the search list, filter by funds description, email, history and probability of success.
diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml
index 80f51a9dfee..4a3a1ac081a 100644
--- a/addons/crm_fundraising/crm_fundraising_view.xml
+++ b/addons/crm_fundraising/crm_fundraising_view.xml
@@ -77,9 +77,21 @@
crm.fundraisingform
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -104,28 +116,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -216,7 +206,7 @@
diff --git a/addons/crm_helpdesk/crm_helpdesk_menu.xml b/addons/crm_helpdesk/crm_helpdesk_menu.xml
index b2c7337b7d3..f5c36eb1ab1 100644
--- a/addons/crm_helpdesk/crm_helpdesk_menu.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_menu.xml
@@ -17,7 +17,7 @@
tree,calendar,form
- {"search_default_user_id":uid, 'search_default_section_id': section_id}
+ {"search_default_user_id":uid}Helpdesk and Support allow you to track your interventions. Select a customer, add notes and categorize interventions with partners if necessary. You can also assign a priority level. Use the OpenERP Issues system to manage your support activities. Issues can be connected to the email gateway: new emails may create issues, each of them automatically gets the history of the conversation with the customer.
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml
index 669224d6e0c..c64d7b5e652 100644
--- a/addons/crm_helpdesk/crm_helpdesk_view.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_view.xml
@@ -28,9 +28,21 @@
crm.helpdeskform
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -65,30 +77,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -214,7 +202,7 @@
diff --git a/addons/crm_todo/i18n/ro.po b/addons/crm_todo/i18n/ro.po
new file mode 100644
index 00000000000..a6856e14792
--- /dev/null
+++ b/addons/crm_todo/i18n/ro.po
@@ -0,0 +1,97 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-15 12:21+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Romanian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-16 04:51+0000\n"
+"X-Generator: Launchpad (build 15247)\n"
+
+#. module: crm_todo
+#: model:ir.model,name:crm_todo.model_project_task
+msgid "Task"
+msgstr "Sarcina"
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "Timebox"
+msgstr "Ceas"
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "For cancelling the task"
+msgstr "Pentru anularea sarcinii"
+
+#. module: crm_todo
+#: constraint:project.task:0
+msgid "Error ! Task end-date must be greater then task start-date"
+msgstr ""
+"Eroare ! Data de sfarsit a sarcinii trebuie sa fie mai mare decat data de "
+"inceput"
+
+#. module: crm_todo
+#: model:ir.model,name:crm_todo.model_crm_lead
+msgid "crm.lead"
+msgstr "pista.crm"
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "Next"
+msgstr "Urmatorul"
+
+#. module: crm_todo
+#: model:ir.actions.act_window,name:crm_todo.crm_todo_action
+#: model:ir.ui.menu,name:crm_todo.menu_crm_todo
+msgid "My Tasks"
+msgstr "Sarcinile mele"
+
+#. module: crm_todo
+#: view:crm.lead:0
+#: field:crm.lead,task_ids:0
+msgid "Tasks"
+msgstr "Sarcini"
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "Done"
+msgstr "Efectuat"
+
+#. module: crm_todo
+#: constraint:project.task:0
+msgid "Error ! You cannot create recursive tasks."
+msgstr "Eroare ! Nu puteti crea sarcini recursive."
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "Cancel"
+msgstr "Anuleaza"
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "Extra Info"
+msgstr "Informatii suplimentare"
+
+#. module: crm_todo
+#: field:project.task,lead_id:0
+msgid "Lead / Opportunity"
+msgstr "Pista / Oportunitate"
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "For changing to done state"
+msgstr "Pentru schimbarea in starea efectuat"
+
+#. module: crm_todo
+#: view:crm.lead:0
+msgid "Previous"
+msgstr "Precedent(a)"
diff --git a/addons/edi/i18n/ro.po b/addons/edi/i18n/ro.po
new file mode 100644
index 00000000000..d6b9cfd1f29
--- /dev/null
+++ b/addons/edi/i18n/ro.po
@@ -0,0 +1,416 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-15 17:48+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Romanian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-16 04:51+0000\n"
+"X-Generator: Launchpad (build 15247)\n"
+
+#. module: edi
+#: sql_constraint:res.currency:0
+msgid "The currency code must be unique per company!"
+msgstr "Codul monedei trebuie sa fie unic per companie!"
+
+#. module: edi
+#: model:ir.model,name:edi.model_res_partner_address
+msgid "Partner Addresses"
+msgstr "Adrese Partener"
+
+#. module: edi
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr "Numele companiei trebuie sa fie unic !"
+
+#. module: edi
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr "Eroare ! Nu puteti crea membri asociati recursiv."
+
+#. module: edi
+#: field:edi.document,name:0
+msgid "EDI token"
+msgstr "Simbol EDI"
+
+#. module: edi
+#: help:edi.document,name:0
+msgid "Unique identifier for retrieving an EDI document."
+msgstr "Identificator unic pentru recuperarea unui document EDI."
+
+#. module: edi
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "Eroare! Nu puteti crea companii recursive."
+
+#. module: edi
+#: model:ir.model,name:edi.model_res_company
+msgid "Companies"
+msgstr "Companii"
+
+#. module: edi
+#: sql_constraint:edi.document:0
+msgid "EDI Tokens must be unique!"
+msgstr "Simbolurile EDI trebuie sa fie unice!"
+
+#. module: edi
+#: model:ir.model,name:edi.model_res_currency
+msgid "Currency"
+msgstr "Moneda"
+
+#. module: edi
+#: code:addons/edi/models/edi.py:153
+#, python-format
+msgid ""
+"The document you are trying to import requires the OpenERP `%s` application. "
+"You can install it by connecting as the administrator and opening the "
+"configuration assistant."
+msgstr ""
+"Documentul pe care incercati sa il importati necesita aplicatia `%s` "
+"OpenERP. O puteti instala conectandu-va ca administrator si deschizand "
+"asistentul configurare."
+
+#. module: edi
+#: help:edi.document,document:0
+msgid "EDI document content"
+msgstr "Continut document EDI"
+
+#. module: edi
+#: model:ir.model,name:edi.model_edi_document
+msgid "EDI Document"
+msgstr "Document EDI"
+
+#. module: edi
+#: code:addons/edi/models/edi.py:48
+#, python-format
+msgid "'%s' is an invalid external ID"
+msgstr "'%s' este un ID extern nevalid"
+
+#. module: edi
+#: model:ir.model,name:edi.model_res_partner
+msgid "Partner"
+msgstr "Partener"
+
+#. module: edi
+#: code:addons/edi/models/edi.py:152
+#, python-format
+msgid "Missing Application"
+msgstr "Aplicatie Lipsa"
+
+#. module: edi
+#: field:edi.document,document:0
+msgid "Document"
+msgstr "Document"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:23
+msgid "View/Print"
+msgstr "Vizualizeaza/Printeaza"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:28
+msgid "Import this document"
+msgstr "Importa acest document"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:33
+msgid "Import it into an existing OpenERP instance"
+msgstr "Importati-l intr-un caz OpenERP existent"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:36
+msgid "OpenERP instance address:"
+msgstr "Adresa caz OpenERP"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:39
+msgid "Import"
+msgstr "Importa"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:44
+msgid "Import it into a new OpenERP Online instance"
+msgstr "Importati-l intr-o noua instanta OpenERP Online"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:47
+msgid "Create my new OpenERP instance"
+msgstr "Creeaza noul meu caz OpenERP"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:52
+msgid "Import into another application"
+msgstr "Importa intr-o alta aplicatie"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:54
+msgid ""
+"OpenERP's Electronic Data Interchange documents are based on a generic and "
+"language\n"
+" independent"
+msgstr ""
+"Documentele Schimb Electronic de Date OpenERP se bazeaza pe o serializare "
+"generala si independenta\n"
+" de limba"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:56
+msgid "JSON"
+msgstr "JSON"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:56
+msgid ""
+"serialization of the document's attribute.\n"
+" It is usually very quick and straightforward to "
+"create a small plug-in for your preferred\n"
+" application that will be capable of importing "
+"any OpenERP EDI document.\n"
+" You can find out more details about how to do "
+"this and what the content of OpenERP EDI documents\n"
+" is like in the"
+msgstr ""
+"serializare a atributului documentului.\n"
+" De obicei este foarte rapid si direct sa creezi "
+"un plug-in mic pentru aplicatia dumneavoastra\n"
+"\n"
+" preferata care va putea sa importe orice "
+"document EDI OpenERP.\n"
+" Puteti afla mai multe detalii despre cum sa "
+"faceti acest lucru si care este continutul documentelor EDI\n"
+"OpenERP\n"
+" in"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:60
+msgid "OpenERP documentation"
+msgstr "documentatia OpenERP"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:61
+msgid "To get started immediately,"
+msgstr "Pentru a incepe imediat,"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:62
+msgid "see is all it takes to use this EDI document in Python"
+msgstr ""
+"sa vedeti este tot ceea este nevoie pentru a folosi acest document EDI in "
+"Python"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:70
+msgid "You can download the raw EDI document here:"
+msgstr "Puteti descarca documentul EDI brut de aici:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:73
+msgid "Download"
+msgstr "Descarca"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:87
+msgid "Powered by"
+msgstr "Oferit de"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:87
+msgid "OpenERP"
+msgstr "OpenERP"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:34
+msgid "Invoice"
+msgstr "Factureaza"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:37
+msgid "Description"
+msgstr "Descriere"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:38
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:41
+msgid "Date"
+msgstr "Data"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:39
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:40
+msgid "Your Reference"
+msgstr "Referinta dumneavoastra"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:50
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:57
+msgid "Product Description"
+msgstr "Descriere produs"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:51
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:58
+msgid "Quantity"
+msgstr "Cantitate"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:52
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:59
+msgid "Unit Price"
+msgstr "Pret unitar"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:53
+msgid "Discount"
+msgstr "Reducere"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:54
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:61
+msgid "Price"
+msgstr "Pret"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:72
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:81
+msgid "Net Total:"
+msgstr "Net Total:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:83
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:92
+msgid "Taxes:"
+msgstr "Taxe:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:94
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:103
+msgid "Total:"
+msgstr "Total:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:106
+msgid "Tax"
+msgstr "Taxa"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:107
+msgid "Base Amount"
+msgstr "Suma de baza"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:108
+msgid "Amount"
+msgstr "Suma"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:121
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:113
+msgid "Notes:"
+msgstr "Note:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:129
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:121
+msgid "Pay Online"
+msgstr "Plateste Online"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:133
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:125
+msgid "Paypal"
+msgstr "Paypal"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:135
+msgid ""
+"You may directly pay this invoice online via Paypal's secure payment gateway:"
+msgstr ""
+"Puteti plati aceasta factura direct online prin intermediul lui Paypal "
+"gateway plata in siguranta:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:145
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:137
+msgid "Bank Wire Transfer"
+msgstr "Transfer Bancar"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:147
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:139
+msgid "Please transfer"
+msgstr "Va rugam sa transferati"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:148
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:140
+msgid "to"
+msgstr "la"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:149
+msgid ""
+"(postal address on the invoice header)\n"
+" using one of the following bank accounts. Be sure to "
+"mention the invoice\n"
+" reference"
+msgstr ""
+"(adresa postala de pe antetul facturii)\n"
+" folosind unul dintre urmatoarele conturi bancare. "
+"Asigurati-va ca mentionati referinta\n"
+" facturii"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:151
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:143
+msgid "on the transfer:"
+msgstr "in transfer:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:36
+msgid "Order"
+msgstr "Comanda"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:42
+msgid "Salesman"
+msgstr "Agent de vanzari"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:43
+msgid "Payment terms"
+msgstr "Termeni de plata"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:60
+msgid "Discount(%)"
+msgstr "Reducere(%)"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:127
+msgid ""
+"You may directly pay this order online via Paypal's secure payment gateway:"
+msgstr ""
+"Puteti plati aceasta comanda direct online prin Paypay gateway plata in "
+"siguranta:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:141
+msgid ""
+"(postal address on the order header)\n"
+" using one of the following bank accounts. Be sure to "
+"mention the document\n"
+" reference"
+msgstr ""
+"(adresa postala de pe antetul facturii)\n"
+" folosind unul dintre urmatoarele conturi bancare. "
+"Asigurati-va ca mentionati referinta\n"
+" documentului"
diff --git a/addons/event/event.py b/addons/event/event.py
index ea8699790a0..02d2b58c371 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -195,9 +195,9 @@ class event_event(osv.osv):
'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'state': fields.selection([
('draft', 'Unconfirmed'),
+ ('cancel', 'Cancelled'),
('confirm', 'Confirmed'),
- ('done', 'Done'),
- ('cancel', 'Cancelled')],
+ ('done', 'Done')],
'State', readonly=True, required=True,
help='If event is created, the state is \'Draft\'.If event is confirmed for the particular dates the state is set to \'Confirmed\'. If the event is over, the state is set to \'Done\'.If event is cancelled the state is set to \'Cancelled\'.'),
'email_registration_id' : fields.many2one('email.template','Registration Confirmation Email', help='This field contains the template of the mail that will be automatically sent each time a registration for this event is confirmed.'),
@@ -318,8 +318,8 @@ class event_registration(osv.osv):
'user_id': fields.many2one('res.users', 'Attendee', states={'done': [('readonly', True)]}),
'company_id': fields.related('event_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True, states={'draft':[('readonly',False)]}),
'state': fields.selection([('draft', 'Unconfirmed'),
- ('open', 'Confirmed'),
('cancel', 'Cancelled'),
+ ('open', 'Confirmed'),
('done', 'Attended')], 'State',
size=16, readonly=True),
}
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 1cd04fdb9a9..f6ff9df8cfd 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -50,9 +50,19 @@
event.eventform
-
+ [[o.employee_id.sinid or '_']]
+ [[o.employee_id.ssnid or '_']]
+ [[o.contract_id.job_id.name or '_']]
+ [[o.contract_id.qualif or '_']]
+ [[o.contract_id.niveau or '_']]
+ [[o.contract_id.coef or '_']]
+ [[o.contract_id.date_start or '_']] Sortie : [[o.contract_id.date_end or '']]
+
+
+
+
+ ORG. S.S :
+
+
+ [[o.employee_id.company_id.org_ss or '_']]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [[o.employee_id.company_id.partner_id.title.name or '']] [[o.employee_id.company_id.name or '_']]
+ [[o.employee_id.company_id.street or '_']]
+ [[o.employee_id.company_id.street2 or '']]
+ [[o.employee_id.company_id.zip or '_']] [[o.employee_id.company_id.city or '']]
+ SIRET : [[o.employee_id.company_id.siret or '_']] APE : [[o.employee_id.company_id.ape or '_']]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [[o.employee_id.name or '_']]
+ [[o.employee_id.address_home_id.street or '_' ]]
+ [[o.employee_id.address_home_id.street2 or '' ]]
+ [[o.employee_id.address_home_id.zip or '_' ]] [[o.employee_id.address_home_id.city or '' ]]
+
+ [[ ((p.amount_select== 'percentage') or removeParentNode('para')) and '' ]] [[ p.amount or '' ]]
+ [[ ((p.amount_select== 'fix') or removeParentNode('para')) and '' ]] [[ p.quantity or '' ]]
+ [[ ((p.amount_select<> 'fix' and p.amount_select<> 'percentage') or removeParentNode('para')) and '' ]]
+
+
+ [[ ((p.amount_select == 'percentage') or removeParentNode('para')) and '' ]] [[ p.rate or '' ]]
+ [[ ((p.amount_select <> 'percentage') or removeParentNode('para')) and '' ]]
+
+
+ [[ p.total or '' ]]
+
+
+ [[ get_employer_line(o, p).rate or '']]
+
+
+ [[ get_employer_line(o,p).total or '' ]]
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mode de reglement : [[ o.payment_mode or '' ]]
+ Paye le : [[ formatLang(o.move_id.date, date=True) or '']]
+
+
+ NET A PAYER
+
+
+ TOTAL CHARGES PATRONALES
+
+
+
+
+ Conv. Coll.: [[ o.employee_id.company_id.conv_coll or '' ]]
+
+
+ [[ get_total_by_rule_category(o, 'NET') ]]
+
+
+ [[ get_total_by_rule_category(o, 'COMP') ]]
+
+
+
+
+
+
+ SALAIRE BRUT
+
+
+ TOTAL CHARGES SALARIALES
+
+
+ NET IMPOSABLE
+
+
+ PLAFOND S.S.
+
+
+
+
+
+
+
+ COUT GLOBAL SALARIE
+
+
+
+
+ [[ get_total_by_rule_category(o, 'BRUT') ]]
+
+
+ [[ get_total_by_rule_category(o, 'SALC') ]]
+
+
+ [[ get_total_by_rule_category(o, 'C_IMP') ]]
+
+
+ [[ o.employee_id.company_id.plafond_secu or '' ]]
+
+
+
+
+
+
+
+ [[ get_total_by_rule_category(o, 'TOTAL') ]]
+
+
+
+
+
+
+
+
+
+
+ DANS VOTRE INTERET ET POUR VOUS AIDER A FAIRE VALOIR VOS DROITS, CONSERVEZ CE BULLETIN DE PAIE SANS LIMITATION DE DUREE
+
+
+
+
diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml
index 7070b995dc6..adfccfc2041 100644
--- a/addons/lunch/lunch_view.xml
+++ b/addons/lunch/lunch_view.xml
@@ -23,7 +23,16 @@
Orderlunch.order
-
diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py
index 15753e3ad9a..c99ad22e714 100644
--- a/addons/marketing_campaign/marketing_campaign.py
+++ b/addons/marketing_campaign/marketing_campaign.py
@@ -115,8 +115,8 @@ With Manual Confirmation - the campaigns runs normally, but the user has to vali
Normal - the campaign runs normally and automatically sends all emails and reports (be very careful with this mode, you're live!)"""),
'state': fields.selection([('draft', 'New'),
('running', 'Running'),
- ('done', 'Done'),
- ('cancelled', 'Cancelled'),],
+ ('cancelled', 'Cancelled'),
+ ('done', 'Done')],
'State',),
'activity_ids': fields.one2many('marketing.campaign.activity',
'campaign_id', 'Activities'),
@@ -269,9 +269,9 @@ class marketing_campaign_segment(osv.osv):
'If the campaign has a "unique field" set, "no duplicates" will also prevent selecting records which have '\
'the same value for the unique field as other records that already entered the campaign.'),
'state': fields.selection([('draft', 'New'),
+ ('cancelled', 'Cancelled'),
('running', 'Running'),
- ('done', 'Done'),
- ('cancelled', 'Cancelled')],
+ ('done', 'Done')],
'State',),
'date_run': fields.datetime('Launch Date', help="Initial start date of this segment."),
'date_done': fields.datetime('End Date', help="Date this segment was last closed or cancelled."),
@@ -648,9 +648,11 @@ class marketing_campaign_workitem(osv.osv):
'res_name': fields.function(_res_name_get, string='Resource Name', fnct_search=_resource_search, type="char", size=64),
'date': fields.datetime('Execution Date', help='If date is not set, this workitem has to be run manually', readonly=True),
'partner_id': fields.many2one('res.partner', 'Partner', select=1, readonly=True),
- 'state': fields.selection([('todo', 'To Do'),
- ('exception', 'Exception'), ('done', 'Done'),
- ('cancelled', 'Cancelled')], 'State', readonly=True),
+ 'state': fields.selection([ ('todo', 'To Do'),
+ ('cancelled', 'Cancelled'),
+ ('exception', 'Exception'),
+ ('done', 'Done'),
+ ], 'State', readonly=True),
'error_msg' : fields.text('Error Message', readonly=True)
}
diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml
index d04cde0e428..fbc36701cd0 100644
--- a/addons/marketing_campaign/marketing_campaign_view.xml
+++ b/addons/marketing_campaign/marketing_campaign_view.xml
@@ -15,7 +15,18 @@
marketing.campaignform
-
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 02272040311..8ee34f8789f 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -481,7 +481,7 @@ class mrp_production(osv.osv):
'move_created_ids2': fields.one2many('stock.move', 'production_id', 'Produced Products', domain=[('state','in', ('done', 'cancel'))]),
'product_lines': fields.one2many('mrp.production.product.line', 'production_id', 'Scheduled goods'),
'workcenter_lines': fields.one2many('mrp.production.workcenter.line', 'production_id', 'Work Centers Utilisation'),
- 'state': fields.selection([('draft','New'),('picking_except', 'Picking Exception'),('confirmed','Waiting Goods'),('ready','Ready to Produce'),('in_production','Production Started'),('cancel','Cancelled'),('done','Done')],'State', readonly=True,
+ 'state': fields.selection([('draft','New'),('cancel','Cancelled'),('picking_except', 'Picking Exception'),('confirmed','Waiting Goods'),('ready','Ready to Produce'),('in_production','Production Started'),('done','Done')],'State', readonly=True,
help='When the production order is created the state is set to \'Draft\'.\n If the order is confirmed the state is set to \'Waiting Goods\'.\n If any exceptions are there, the state is set to \'Picking Exception\'.\
\nIf the stock is available then the state is set to \'Ready to Produce\'.\n When the production gets started then the state is set to \'In Production\'.\n When the production is over, the state is set to \'Done\'.'),
'hour_total': fields.function(_production_calc, type='float', string='Total Hours', multi='workorder', store=True),
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 41ec434921f..69394783baf 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -631,8 +631,22 @@
mrp.productionform
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -700,17 +714,6 @@
states="done,cancel"/>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
diff --git a/addons/mrp_operations/mrp_operations.py b/addons/mrp_operations/mrp_operations.py
index 74f1adcc431..58934c2489c 100644
--- a/addons/mrp_operations/mrp_operations.py
+++ b/addons/mrp_operations/mrp_operations.py
@@ -86,7 +86,7 @@ class mrp_production_workcenter_line(osv.osv):
_order = "sequence, date_planned"
_columns = {
- 'state': fields.selection([('draft','Draft'),('startworking', 'In Progress'),('pause','Pending'),('cancel','Cancelled'),('done','Finished')],'State', readonly=True,
+ 'state': fields.selection([('draft','Draft'),('cancel','Cancelled'),('pause','Pending'),('startworking', 'In Progress'),('done','Finished')],'State', readonly=True,
help="* When a work order is created it is set in 'Draft' state.\n" \
"* When user sets work order in start mode that time it will be set in 'In Progress' state.\n" \
"* When work order is in running mode, during that time if user wants to stop or to make changes in order then can set in 'Pending' state.\n" \
diff --git a/addons/mrp_operations/mrp_operations_view.xml b/addons/mrp_operations/mrp_operations_view.xml
index 4f7a2b45e16..7b9dfabd508 100644
--- a/addons/mrp_operations/mrp_operations_view.xml
+++ b/addons/mrp_operations/mrp_operations_view.xml
@@ -3,24 +3,24 @@
- mrp.production.form.inherit
- mrp.production
- form
-
-
-
-
-
+ mrp.production.form.inherit
+ mrp.production
+ form
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
@@ -29,7 +29,7 @@
form
-
+
@@ -71,8 +71,21 @@
form
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -105,19 +118,9 @@
-
-
-
-
-
-
-
-
-
-
-
+
@@ -130,24 +133,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py
index 4de816f3363..9c9a6c8c521 100644
--- a/addons/mrp_repair/mrp_repair.py
+++ b/addons/mrp_repair/mrp_repair.py
@@ -122,13 +122,13 @@ class mrp_repair(osv.osv):
'prodlot_id': fields.many2one('stock.production.lot', 'Lot Number', select=True, domain="[('product_id','=',product_id)]"),
'state': fields.selection([
('draft','Quotation'),
+ ('cancel','Cancel'),
('confirmed','Confirmed'),
- ('ready','Ready to Repair'),
('under_repair','Under Repair'),
+ ('ready','Ready to Repair'),
('2binvoiced','To be Invoiced'),
('invoice_except','Invoice Exception'),
- ('done','Done'),
- ('cancel','Cancel')
+ ('done','Done')
], 'State', readonly=True,
help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed repair order. \
\n* The \'Confirmed\' state is used when a user confirms the repair order. \
diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml
index b8c5bfe7a24..c089b4d9fa2 100644
--- a/addons/mrp_repair/mrp_repair_view.xml
+++ b/addons/mrp_repair/mrp_repair_view.xml
@@ -27,8 +27,26 @@
mrp.repairform
-
+
+
@@ -73,13 +83,6 @@
-
-
-
-
-
-
-
diff --git a/addons/project/project.py b/addons/project/project.py
index 737cd028cb7..53ba32a3be9 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -504,13 +504,6 @@ def Project():
project()
-class users(osv.osv):
- _inherit = 'res.users'
- _columns = {
- 'context_project_id': fields.many2one('project.project', 'Project')
- }
-users()
-
class task(osv.osv):
_name = "project.task"
_description = "Task"
@@ -523,11 +516,11 @@ class task(osv.osv):
context key, or None if it cannot be resolved to a single project.
"""
if context is None: context = {}
- if type(context.get('project_id')) in (int, long):
- project_id = context['project_id']
+ if type(context.get('default_project_id')) in (int, long):
+ project_id = context['default_project_id']
return project_id
- if isinstance(context.get('project_id'), basestring):
- project_name = context['project_id']
+ if isinstance(context.get('default_project_id'), basestring):
+ project_name = context['default_project_id']
project_ids = self.pool.get('project.project').name_search(cr, uid, name=project_name)
if len(project_ids) == 1:
return project_ids[0][0]
@@ -677,7 +670,7 @@ class task(osv.osv):
'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority', select=True),
'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of tasks."),
'type_id': fields.many2one('project.task.type', 'Stage'),
- 'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'State', readonly=True, required=True,
+ 'state': fields.selection([('draft', 'New'),('cancelled', 'Cancelled'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done')], 'State', readonly=True, required=True,
help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\
\n If the task is over, the states is set to \'Done\'.'),
'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State',
@@ -1305,7 +1298,7 @@ class project_task_history(osv.osv):
_columns = {
'task_id': fields.many2one('project.task', 'Task', ondelete='cascade', required=True, select=True),
'type_id': fields.many2one('project.task.type', 'Stage'),
- 'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'State'),
+ 'state': fields.selection([('draft', 'New'), ('cancelled', 'Cancelled'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done')], 'State'),
'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State', required=False),
'date': fields.date('Date', select=True),
'end_date': fields.function(_get_date, string='End Date', type="date", store={
@@ -1340,7 +1333,7 @@ class project_task_history_cumulative(osv.osv):
id as history_id,
date+generate_series(0, CAST((coalesce(end_date,DATE 'tomorrow')::date - date)AS integer)-1) as date,
task_id, type_id, user_id, kanban_state, state,
- remaining_hours, planned_hours
+ greatest(remaining_hours,1) as remaining_hours, greatest(planned_hours,1) as planned_hours
FROM
project_task_history
) as history
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index c1c1f7404f8..c8f74cdad7a 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -20,16 +20,17 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -100,7 +101,7 @@
-
+
@@ -268,7 +269,10 @@
{}
- A project contains a set of tasks or issues that will be performed by your resources assigned to it. A project can be hierarchically structured, as a child of a Parent Project. This allows you to design large project structures with different phases spread over the project duration cycle. Each user can set his default project in his own preferences to automatically filter the tasks or issues he usually works on. If you choose to invoice the time spent on a project task, you can find project tasks to be invoiced in the billing section.
+
You have no projects.
+
Projects are used to organize your activities; plan tasks, track issues, invoice timesheets. You can define internal projects (R&D, Improve Sales Process), private projects (My Todos) or customer ones.
+
Click 'create' to start a new project.
+
@@ -317,16 +321,17 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -402,7 +407,7 @@
-
+
@@ -621,7 +626,7 @@
kanban,tree,form,calendar,gantt,graph
- {"search_default_project_id": project_id}
+ {}A task represents a work that has to be done. Each user works in his own list of tasks where he can record his task work in hours. He can work and close the task itself or delegate it to another user. If you delegate a task to another user, you get a new task in pending state, which will be reopened when you have to review the work achieved. If you install the project_timesheet module, task work can be invoiced based on the project configuration. With the project_mrp module, sales orders can create tasks automatically when they are confirmed.
@@ -742,31 +747,6 @@
-
- res.users.project.form1
- res.users
- form
-
-
-
-
-
-
-
-
-
-
- view.users.form.project.modif.inherited1
- res.users
-
- form
-
-
-
-
-
-
-
-
+
diff --git a/addons/project/static/src/css/project.css b/addons/project/static/src/css/project.css
index 93437c878ba..7a354d5a801 100644
--- a/addons/project/static/src/css/project.css
+++ b/addons/project/static/src/css/project.css
@@ -1,42 +1,50 @@
.project_fields {
- margin-top: 1px;
- margin-bottom: 1px;
- font-size: 11px;
- padding-left: 0px;
- }
+ margin-top: 1px;
+ margin-bottom: 1px;
+ font-size: 11px;
+ padding-left: 0px;
+}
.project_fields td {
border: none;
- padding: 2px 0 2px 8px; }
+ padding: 2px 0 2px 8px;
+}
.project_fields th {
padding: 0;
border-right: 1px solid #dddddd;
vertical-align: top;
- margin-right: 8px; }
+ margin-right: 8px;
+}
.project_vignettes{
- padding: 4px !important }
- .project_vignettes li {
+ padding: 4px !important;
+}
+.project_vignettes li {
float: left;
- }
- .project_vignettes .project_avatar {
+}
+.project_vignettes .project_avatar {
width: 30px;
height: 30px;
- padding-left: 0px; }
- .project_vignettes .project_fields {
- width: 100%; }
- .project_vignettes .project_fields th {
- width: 120px;
- font-weight: normal; }
- .project_vignettes .project_fields td {
- color: #888888; }
- .project_vignettes h4 a {
- color: #4c4c4c; }
- .project_vignettes > li h4 {
+ padding-left: 0px;
+}
+.project_vignettes .project_fields {
+ width: 100%;
+}
+.project_vignettes .project_fields th {
+ width: 120px;
+ font-weight: normal;
+}
+.project_vignettes .project_fields td {
+ color: #888888;
+}
+.project_vignettes h4 a {
+ color: #4c4c4c;
+}
+.project_vignettes > li h4 {
margin-bottom: 2px;
- padding-left: 2px; }
-
+ padding-left: 2px;
+}
.oe_project_buttons {
padding: 2px 2px !important;
- background: none !important;
+ background: none !important;
background-color: transparent !important;
border: hidden !important;
color: #8A89BA !important;
@@ -51,8 +59,8 @@
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
- -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
- }
+ -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+}
.click_button {
background: none !important;
background-color: transparent !important;
@@ -68,54 +76,60 @@
-webkit-box-align: baseline;
}
-
.click_button:hover {
cursor: default !important;
}
.dropdown-menu {
- display: none;
- position: absolute; }
+ display: none;
+ position: absolute;
+}
.dropdown {
- position: relative; }
+ position: relative;
+}
.dropdown-toggle:after {
- width: 0;
- height: 0;
- display: inline-block;
- content: "&darr";
- text-indent: -99999px;
- vertical-align: top;
- margin-top: 8px;
- margin-left: 4px;
- border-left: 4px solid transparent;
- border-right: 4px solid transparent;
- border-top: 4px solid white;
- filter: alpha(opacity=50);
- -khtml-opacity: 0.5;
- -moz-opacity: 0.5;
- opacity: 0.5; }
- .oe_project_kanban_vignette .dropdown-menu .color-chooser {
- padding: 0 3px; }
- .oe_project_kanban_vignette .dropdown-menu .color-chooser li {
- float: left; }
- .oe_project_kanban_vignette .dropdown-menu .color-chooser li a {
- padding: 2px; }
+ width: 0;
+ height: 0;
+ display: inline-block;
+ content: "&darr";
+ text-indent: -99999px;
+ vertical-align: top;
+ margin-top: 8px;
+ margin-left: 4px;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid white;
+ filter: alpha(opacity=50);
+ -khtml-opacity: 0.5;
+ -moz-opacity: 0.5;
+ opacity: 0.5;
+}
+.oe_project_kanban_vignette .dropdown-menu .color-chooser {
+ padding: 0 3px;
+}
+.oe_project_kanban_vignette .dropdown-menu .color-chooser li {
+ float: left;
+}
+.oe_project_kanban_vignette .dropdown-menu .color-chooser li a {
+ padding: 2px;
+}
a.oe_project_kanban_action {
- position: absolute;
- right: 0;
- display: none;
- }
- a.oe_project_kanban_action:hover {
- text-decoration: none; }
- a.oe_project_kanban_action .oe_i {
- color: #4c4c4c; }
-
-.square {
- display: inline-block;
- width: 18px;
- height: 18px;
- border:1px solid grey;
- }
+ position: absolute;
+ right: 0;
+ display: none;
+}
+a.oe_project_kanban_action:hover {
+ text-decoration: none;
+}
+a.oe_project_kanban_action .oe_i {
+ color: #4c4c4c;
+}
+.square {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ border:1px solid grey;
+}
.oe_kanban_color_0 {
background: white;
}
@@ -136,85 +150,97 @@ a.oe_project_kanban_action {
}
.open {
- display: block;
- }
- .open .dropdown-menu {
- display: block; }
+ display: block;
+}
+.open .dropdown-menu {
+ display: block;
+}
a.oe_project_kanban_action {
- position: absolute;
- right: 0;
- }
- a.oe_project_kanban_action:hover {
+ position: absolute;
+ right: 0;
+}
+a.oe_project_kanban_action:hover {
text-decoration: none;
- }
- a.oe_project_kanban_action .eo_i {
- color: #4c4c4c; }
+}
+a.oe_project_kanban_action .eo_i {
+ color: #4c4c4c;
+}
.oe_project_kanban_vignette {
- position: relative;
- min-height: 50px;
- /*background: white;*/
- border: 1px solid #d8d8d8;
- border-bottom-color: #b9b9b9;
- padding: 6px;
- margin: 6px 0;
- display: inline-block;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
-
+ position: relative;
+ min-height: 50px;
+ /*background: white;*/
+ border: 1px solid #d8d8d8;
+ border-bottom-color: #b9b9b9;
+ padding: 6px;
+ margin: 6px 0;
+ display: inline-block;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
}
- .oe_project_kanban_vignette:last-child {
- margin-bottom: 0; }
- .oe_project_kanban_vignette:hover {
+.oe_project_kanban_vignette:last-child {
+ margin-bottom: 0;
+}
+.oe_project_kanban_vignette:hover {
-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
- -box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); }
- .oe_project_kanban_vignette h4 {
- margin: 0 0 2px; }
+ -box-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
+}
+.oe_project_kanban_vignette h4 {
+ margin: 0 0 2px;
+}
.oe_project_kanban_vignette .dropdown-menu {
- top: 30px;
- right: -140px;
- padding: 4px;
- border: 1px solid #afafb6;
- width: 160px;
- overflow-x: hidden;
- z-index: 900;
- background: white;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
- -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
- .oe_project_kanban_vignette .dropdown-menu p {
- margin-left: 12px; }
- .oe_project_kanban_vignette .dropdown-menu li {
+ top: 30px;
+ right: -140px;
+ padding: 4px;
+ border: 1px solid #afafb6;
+ width: 160px;
+ overflow-x: hidden;
+ z-index: 900;
+ background: white;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+ -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+}
+.oe_project_kanban_vignette .dropdown-menu p {
+ margin-left: 12px;
+}
+.oe_project_kanban_vignette .dropdown-menu li {
float: none;
display: block;
- background-color: none; }
- .oe_project_kanban_vignette .dropdown-menu li a {
- display: block;
- padding: 3px 6px;
- clear: both;
- font-weight: normal;
- line-height: 14px;
- color: #4c4c4c;
- text-decoration: none; }
- .oe_project_kanban_vignette .dropdown-menu li a:hover {
- background: #f0f0fa;
- background: -moz-linear-gradient(#f0f0fa, #eeeef6);
- background: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
- background: -webkit-linear-gradient(#f0f0fa, #eeeef6);
- -moz-box-shadow: none;
- -webkit-box-shadow: none;
- -box-shadow: none; }
+ background-color: none;
+}
+.oe_project_kanban_vignette .dropdown-menu li a {
+ display: block;
+ padding: 3px 6px;
+ clear: both;
+ font-weight: normal;
+ line-height: 14px;
+ color: #4c4c4c;
+ text-decoration: none;
+}
+.oe_project_kanban_vignette .dropdown-menu li a:hover {
+ background: #f0f0fa;
+ background: -moz-linear-gradient(#f0f0fa, #eeeef6);
+ background: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
+ background: -webkit-linear-gradient(#f0f0fa, #eeeef6);
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ -box-shadow: none;
+}
.oe_project_kanban_vignette .dropdown-menu .color-chooser {
- padding: 0 3px; }
- .oe_project_kanban_vignette .dropdown-menu .color-chooser li {
- float: left; }
- .oe_project_kanban_vignette .dropdown-menu .color-chooser li a {
- padding: 2px; }
+ padding: 0 3px;
+}
+.oe_project_kanban_vignette .dropdown-menu .color-chooser li {
+ float: left;
+}
+.oe_project_kanban_vignette .dropdown-menu .color-chooser li a {
+ padding: 2px;
+}
diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js
index 09a7c9eb256..8d806fb0605 100644
--- a/addons/project/static/src/js/project.js
+++ b/addons/project/static/src/js/project.js
@@ -3,31 +3,30 @@ openerp.project = function(openerp) {
bind_events: function() {
var self = this;
self._super();
- if(this.view.dataset.model == 'project.project') {
-
+ if (this.view.dataset.model == 'project.project') {
/*set avatar title for members.
In many2many fields, returns only list of ids.
we can implement return value of m2m fields like [(1,"Adminstration"),...].
*/
- _.each($(this.$element).find('.project_avatar'),function(avatar){
+ _.each($(this.$element).find('.project_avatar'), function(avatar) {
var dataset = new openerp.web.DataSetSearch(this, 'res.users', self.session.context, [['id','=',avatar.id]]);
- dataset.read_slice(['name']).then(function(result){
- avatar.setAttribute("title",result[0].name)
+ dataset.read_slice(['name']).then(function(result) {
+ avatar.setAttribute("title",result[0].name);
});
- });
-
+ });
+
// set sequence like Tasks,Issues,Timesheets and Phases
- var my_list = $("#list a")
+ var my_list = $("#list a");
my_list.sort(function (a, b) {
- var aValue = parseInt(a.id);
- var bValue = parseInt(b.id);
+ var aValue = parseInt(a.id, 10);
+ var bValue = parseInt(b.id, 10);
return aValue == bValue ? 0 : aValue < bValue ? -1 : 1;
- });
+ });
$('#list').replaceWith(my_list);
-
+
// when vignette is clicked, it opens the first action in sequence
- if (my_list.length != 0) {
- var click_button = $(this.$element).find('.click_button')
+ if (my_list.length !== 0) {
+ var click_button = $(this.$element).find('.click_button');
click_button.attr('data-name', my_list[0].getAttribute('data-name'));
click_button.attr('data-type', "action");
}
@@ -36,13 +35,13 @@ openerp.project = function(openerp) {
we can do other way to implement new widget.
because we need to rpc call for that.
*/
- this.$element.find('.bgcolor').click(function(){
- var color = parseInt($(this).find('span').attr('class').split(' ')[0].substring(16))
- var color_class = $(this).find('span').attr('class').split(' ')[0]
+ this.$element.find('.bgcolor').click(function() {
+ var color = parseInt($(this).find('span').attr('class').split(' ')[0].substring(16), 10);
+ var color_class = $(this).find('span').attr('class').split(' ')[0];
$(this).closest('#oe_project_kanban_vignette').removeClass().addClass(color_class + ' oe_project_kanban_vignette');
- self.view.dataset.write(parseInt(this.id), {color:color});
+ self.view.dataset.write(parseInt(this.id, 10), {color:color});
});
}
}
});
-}
+};
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 221d55ae23a..059031b603e 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -140,12 +140,6 @@ class project_issue(crm.crm_case, osv.osv):
res[issue.id] = {'progress' : progress}
return res
- def _get_project(self, cr, uid, context=None):
- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
- if user.context_project_id:
- return user.context_project_id.id
- return False
-
def on_change_project(self, cr, uid, ids, project_id, context=None):
return {}
@@ -179,7 +173,7 @@ class project_issue(crm.crm_case, osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner', select=1),
'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Description'),
- 'state': fields.selection([('draft', 'New'), ('open', 'In Progress'), ('cancel', 'Cancelled'), ('done', 'Done'),('pending', 'Pending'), ], 'State', size=16, readonly=True,
+ 'state': fields.selection([('draft', 'New'), ('cancel', 'Cancelled'), ('open', 'In Progress'),('pending', 'Pending'),('done', 'Done') ], 'State', size=16, readonly=True,
help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\
@@ -232,7 +226,6 @@ class project_issue(crm.crm_case, osv.osv):
'section_id': crm.crm_case._get_section,
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
'priority': crm.AVAILABLE_PRIORITIES[2][0],
- 'project_id':_get_project,
'categ_id' : lambda *a: False,
}
diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml
index 1c4cecfe439..4c3be9e1327 100644
--- a/addons/project_issue/project_issue_menu.xml
+++ b/addons/project_issue/project_issue_menu.xml
@@ -12,7 +12,7 @@
kanban,tree,calendar
- {"search_default_user_id": uid, "search_default_draft": 1,"search_default_todo": 1,"search_default_project_id":project_id}
+ {"search_default_user_id": uid, "search_default_draft": 1,"search_default_todo": 1}Issues such as system bugs, customer complaints, and material breakdowns are collected here. You can define the stages assigned when solving the project issue (analysis, development, done). With the mailgateway module, issues can be integrated through an email address (example: support@mycompany.com)
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 1fd68261219..fffbc1e8072 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -51,6 +51,18 @@
form
+
+
+
+
+
+
+
+
+
+
+
+
@@ -87,15 +99,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/addons/project_issue_sheet/project_issue_sheet_view.xml b/addons/project_issue_sheet/project_issue_sheet_view.xml
index c16cc267d20..2a98f186922 100644
--- a/addons/project_issue_sheet/project_issue_sheet_view.xml
+++ b/addons/project_issue_sheet/project_issue_sheet_view.xml
@@ -16,7 +16,7 @@
on_change='on_change_account_id(analytic_account_id)'/>
-
+
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index 8d9319466e3..4a74c9c0b3a 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -115,7 +115,7 @@ class project_phase(osv.osv):
'user_force_ids': fields.many2many('res.users', string='Force Assigned Users'),
'user_ids': fields.one2many('project.user.allocation', 'phase_id', "Assigned Users",states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]},
help="The ressources on the project can be computed automatically by the scheduler"),
- 'state': fields.selection([('draft', 'New'), ('open', 'In Progress'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True, required=True,
+ 'state': fields.selection([('draft', 'New'), ('cancelled', 'Cancelled'),('open', 'In Progress'), ('pending', 'Pending'), ('done', 'Done')], 'State', readonly=True, required=True,
help='If the phase is created the state \'Draft\'.\n If the phase is started, the state becomes \'In Progress\'.\n If review is needed the phase is in \'Pending\' state.\
\n If the phase is over, the states is set to \'Done\'.'),
'progress': fields.function(_compute_progress, string='Progress', help="Computed based on related tasks"),
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index 7e1b58745a6..02412a20a1f 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -141,7 +141,19 @@
project.phaseform
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -166,15 +178,6 @@
-
-
-
-
-
-
-
-
-
@@ -211,6 +214,7 @@
+
diff --git a/addons/project_planning/project_planning.py b/addons/project_planning/project_planning.py
index 25850a8dd8c..9ce6571bf54 100644
--- a/addons/project_planning/project_planning.py
+++ b/addons/project_planning/project_planning.py
@@ -128,7 +128,7 @@ class report_account_analytic_planning(osv.osv):
'date_to':fields.date('End Date', required=True, states={'done':[('readonly', True)]}),
'line_ids': fields.one2many('report_account_analytic.planning.line', 'planning_id', 'Planning lines', states={'done':[('readonly', True)]}),
'stat_ids': fields.one2many('report_account_analytic.planning.stat', 'planning_id', 'Planning analysis', readonly=True),
- 'state': fields.selection([('draft', 'Draft'), ('open', 'Open'), ('done', 'Done'), ('cancel', 'Cancelled')], 'Status', required=True),
+ 'state': fields.selection([('draft', 'Draft'), ('cancel', 'Cancelled'), ('open', 'Open'), ('done', 'Done')], 'Status', required=True),
'business_days': fields.integer('Business Days', required=True, states={'done':[('readonly', True)]}, help='Set here the number of working days within this planning for one person full time'),
'planning_user_ids': one2many_mod3('report_account_analytic.planning.user', 'planning_id', 'Planning By User'),
'planning_account': fields.one2many('report_account_analytic.planning.account', 'planning_id', 'Planning By Account'),
diff --git a/addons/project_planning/project_planning_view.xml b/addons/project_planning/project_planning_view.xml
index d6366638e15..11e9b057c06 100644
--- a/addons/project_planning/project_planning_view.xml
+++ b/addons/project_planning/project_planning_view.xml
@@ -26,8 +26,19 @@
report_account_analytic.planningform
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -134,18 +145,7 @@
-
-
-
-
-
-
-
+
diff --git a/addons/project_scrum/project_scrum.py b/addons/project_scrum/project_scrum.py
index ea20c3374d4..86c0f0df479 100644
--- a/addons/project_scrum/project_scrum.py
+++ b/addons/project_scrum/project_scrum.py
@@ -109,7 +109,7 @@ class project_scrum_sprint(osv.osv):
'progress': fields.function(_compute, group_operator="avg", type='float', multi="progress", string='Progress (0-100)', help="Computed as: Time Spent / Total Time."),
'effective_hours': fields.function(_compute, multi="effective_hours", string='Effective hours', help="Computed using the sum of the task work done."),
'expected_hours': fields.function(_compute, multi="expected_hours", string='Planned Hours', help='Estimated time to do the task.'),
- 'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('cancel','Cancelled'),('done','Done')], 'State', required=True),
+ 'state': fields.selection([('draft','Draft'),('cancel','Cancelled'),('open','Open'),('pending','Pending'),('done','Done')], 'State', required=True),
}
_defaults = {
'state': 'draft',
@@ -256,7 +256,7 @@ class project_scrum_product_backlog(osv.osv):
'sprint_id': fields.many2one('project.scrum.sprint', 'Sprint'),
'sequence' : fields.integer('Sequence', help="Gives the sequence order when displaying a list of product backlog."),
'tasks_id': fields.one2many('project.task', 'product_backlog_id', 'Tasks Details'),
- 'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('done','Done'),('cancel','Cancelled')], 'State', required=True),
+ 'state': fields.selection([('draft','Draft'),('cancel','Cancelled'),('open','Open'),('pending','Pending'),('done','Done')], 'State', required=True),
'progress': fields.function(_compute, multi="progress", group_operator="avg", type='float', string='Progress', help="Computed as: Time Spent / Total Time."),
'effective_hours': fields.function(_compute, multi="effective_hours", string='Spent Hours', help="Computed using the sum of the time spent on every related tasks", store=True),
'expected_hours': fields.float('Planned Hours', help='Estimated total time to do the Backlog'),
diff --git a/addons/project_scrum/project_scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
index 7f20ab7a5c8..53ec3c11e8f 100644
--- a/addons/project_scrum/project_scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -56,8 +56,21 @@
project.scrum.product.backlogform
-
-
-
-
-
-
-
-
-
@@ -109,6 +112,7 @@
+
@@ -197,7 +201,7 @@
procurement.order
-
+
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 5144cb91402..198d4c659c1 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -204,13 +204,13 @@ class sale_order(osv.osv):
'client_order_ref': fields.char('Customer Reference', size=64),
'state': fields.selection([
('draft', 'Quotation'),
+ ('cancel', 'Cancelled'),
('waiting_date', 'Waiting Schedule'),
('manual', 'To Invoice'),
('progress', 'In Progress'),
('shipping_except', 'Shipping Exception'),
('invoice_except', 'Invoice Exception'),
('done', 'Done'),
- ('cancel', 'Cancelled')
], 'Order State', readonly=True, help="Gives the state of the quotation or sales order. \nThe exception state is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception). \nThe 'Waiting Schedule' state is set when the invoice is confirmed but waiting for the scheduler to run on the order date.", select=True),
'date_order': fields.date('Date', required=True, readonly=True, select=True, states={'draft': [('readonly', False)]}),
'create_date': fields.datetime('Creation Date', readonly=True, select=True, help="Date on which sales order is created."),
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 308f1034920..13a58038ad7 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -96,23 +96,24 @@
+
diff --git a/addons/sale_mrp/sale_mrp_view.xml b/addons/sale_mrp/sale_mrp_view.xml
index d4d2c153d76..fbf2e7a9327 100644
--- a/addons/sale_mrp/sale_mrp_view.xml
+++ b/addons/sale_mrp/sale_mrp_view.xml
@@ -8,7 +8,7 @@
form
-
+
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index ef968bc77e7..4866ea15273 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -630,11 +630,12 @@ class stock_picking(osv.osv):
'move_type': fields.selection([('direct', 'Partial'), ('one', 'All at once')], 'Delivery Method', required=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="It specifies goods to be deliver partially or all at once"),
'state': fields.selection([
('draft', 'Draft'),
+ ('cancel', 'Cancelled'),
('auto', 'Waiting Another Operation'),
('confirmed', 'Waiting Availability'),
('assigned', 'Ready to Transfer'),
('done', 'Transferred'),
- ('cancel', 'Cancelled'),], 'State', readonly=True, select=True, help="""
+ ], 'State', readonly=True, select=True, help="""
* Draft: not confirmed yet and will not be scheduled until confirmed\n
* Waiting Another Operation: waiting for another move to proceed before it becomes automatically available (e.g. in Make-To-Order flows)\n
* Waiting Availability: still waiting for the availability of products\n
@@ -1632,11 +1633,12 @@ class stock_move(osv.osv):
'picking_id': fields.many2one('stock.picking', 'Reference', select=True,states={'done': [('readonly', True)]}),
'note': fields.text('Notes'),
'state': fields.selection([('draft', 'New'),
+ ('cancel', 'Cancelled'),
('waiting', 'Waiting Another Move'),
('confirmed', 'Waiting Availability'),
('assigned', 'Available'),
('done', 'Done'),
- ('cancel', 'Cancelled')], 'State', readonly=True, select=True,
+ ], 'State', readonly=True, select=True,
help= "* New: When the stock move is created and not yet confirmed.\n"\
"* Waiting Another Move: This state can be seen when a move is waiting for another one, for example in a chained flow.\n"\
"* Waiting Availability: This state is reached when the procurement resolution is not straight forward. It may need the scheduler to run, a component to me manufactured...\n"\
@@ -2665,7 +2667,7 @@ class stock_inventory(osv.osv):
'date_done': fields.datetime('Date done'),
'inventory_line_id': fields.one2many('stock.inventory.line', 'inventory_id', 'Inventories', states={'done': [('readonly', True)]}),
'move_ids': fields.many2many('stock.move', 'stock_inventory_move_rel', 'inventory_id', 'move_id', 'Created Moves'),
- 'state': fields.selection( (('draft', 'Draft'), ('done', 'Done'), ('confirm','Confirmed'),('cancel','Cancelled')), 'State', readonly=True, select=True),
+ 'state': fields.selection( (('draft', 'Draft'), ('cancel','Cancelled'), ('confirm','Confirmed'), ('done', 'Done')), 'State', readonly=True, select=True),
'company_id': fields.many2one('res.company', 'Company', required=True, select=True, readonly=True, states={'draft':[('readonly',False)]}),
}
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index fd85d73a93e..4ccc4647ae1 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -108,7 +108,19 @@
stock.inventoryform
-