[MERGE]: Merged with lp:openobject-addons
bzr revid: atp@tinyerp.com-20120921051507-vozcjdsnm0i8d76l
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
.oe_employee_vignette {
|
||||
padding: 8px 0;
|
||||
padding: 8px 8px;
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
|
||||
@@ -132,8 +132,6 @@
|
||||
display: none;
|
||||
white-space: normal;
|
||||
padding: 8px;
|
||||
background: #eee;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.openerp div.oe_mail_thread_action:after {
|
||||
@@ -201,7 +199,7 @@
|
||||
.openerp .oe_mail_msg_email {
|
||||
padding: 8px;
|
||||
background: white;
|
||||
border-top: 1px solid #ccc;
|
||||
border-top: 1px solid #ebebeb;
|
||||
}
|
||||
|
||||
.openerp div.oe_mail_thread_subthread .oe_mail_msg_comment {
|
||||
|
||||
@@ -185,5 +185,4 @@ class note_base_config_settings(osv.osv_memory):
|
||||
_columns = {
|
||||
'module_note_pad': fields.boolean('Use collaborative pads (etherpad)'),
|
||||
'group_note_fancy': fields.boolean('Use fancy layouts for notes', implied_group='note.group_note_fancy'),
|
||||
'group_note_tags': fields.boolean('Allow setting tags on notes', implied_group='note.group_note_tags'),
|
||||
}
|
||||
|
||||
+14
-36
@@ -4,28 +4,27 @@
|
||||
<record model="note.stage" id="demo_note_stage_01">
|
||||
<field name="name">Today</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
</record>
|
||||
|
||||
<record model="note.stage" id="demo_note_stage_02">
|
||||
<field name="name">Tomorrow</field>
|
||||
<field name="sequence">2</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
</record>
|
||||
|
||||
<record model="note.stage" id="demo_note_stage_03">
|
||||
<field name="name">Later</field>
|
||||
<field name="sequence">3</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
</record>
|
||||
|
||||
<record model="note.stage" id="demo_note_stage_04">
|
||||
<field name="name">Notes</field>
|
||||
<field name="name">Morning</field>
|
||||
<field name="sequence">4</field>
|
||||
<field name="user_id" eval="ref('base.user_demo')"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="note_1" model="note.note">
|
||||
<field name="name">Customer report #349872</field>
|
||||
<field name="memo"><![CDATA[<b>Customer report #349872</b>
|
||||
@@ -35,8 +34,9 @@
|
||||
<br/>* We should use the term Calendar, not Meeting.
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_01"/>
|
||||
<field name="stage_id" ref="demo_note_stage_01"/>
|
||||
<field name="color">2</field>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="note_2" model="note.note">
|
||||
@@ -44,14 +44,7 @@
|
||||
<br/><br/>* Followed by the telephone conversation and mail about D.544.3
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_01"/>
|
||||
</record>
|
||||
|
||||
<record id="note_3" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>Call Marc</b>
|
||||
<br/><br/>]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_01"/>
|
||||
<field name="stage_id" ref="demo_note_stage_01"/>
|
||||
</record>
|
||||
|
||||
<record id="note_4" model="note.note">
|
||||
@@ -67,7 +60,8 @@
|
||||
<br/>* wine
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_02"/>
|
||||
<field name="stage_id" ref="demo_note_stage_02"/>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="note_6" model="note.note">
|
||||
@@ -79,15 +73,6 @@
|
||||
<field name="stage_id" ref="note_stage_02"/>
|
||||
</record>
|
||||
|
||||
<record id="note_7" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>Read some documentation about OpenERP before diving into the code</b>
|
||||
<br/><br/>* Open ERP: a modern approach to integrated business management
|
||||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
</record>
|
||||
|
||||
<record id="note_8" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>New computer specs</b>
|
||||
<br/><br/>* Motherboard
|
||||
@@ -108,6 +93,7 @@
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
<field name="color">3</field>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="note_9" model="note.note">
|
||||
@@ -116,16 +102,7 @@
|
||||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_02"/>
|
||||
</record>
|
||||
|
||||
<record id="note_10" model="note.note">
|
||||
<field name="memo"><![CDATA[<b>Read some documentation about OpenERP before diving into the code</b>
|
||||
<br/><br/>* Open ERP: a modern approach to integrated business management
|
||||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
<field name="stage_id" ref="demo_note_stage_02"/>
|
||||
</record>
|
||||
|
||||
<record id="note_12" model="note.note">
|
||||
@@ -134,8 +111,9 @@
|
||||
<br/>* Open ERP for Retail and Industrial Management
|
||||
]]>
|
||||
</field>
|
||||
<field name="stage_id" ref="note_stage_03"/>
|
||||
<field name="message_follower_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
<field name="color">7</field>
|
||||
<field name="stage_ids" eval="['note_stage_03','demo_note_stage_04']"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<div class="oe_dropdown_kanban">
|
||||
<span>
|
||||
<a name="onclick_note_is_done" type="object" t-if="record.open.raw_value" class="oe_e">W</a>
|
||||
<a name="onclick_note_not_done" type="object" t-if="!record.open.raw_value" class="oe_e">è</a>
|
||||
<a name="onclick_note_not_done" type="object" t-if="!record.open.raw_value" class="oe_e">W</a>
|
||||
</span>
|
||||
|
||||
<!-- dropdown menu -->
|
||||
@@ -101,7 +101,7 @@
|
||||
<field name="name"/>
|
||||
<field name="open"/>
|
||||
<field name="stage_id"/>
|
||||
<field name="tag_ids" widget="many2many_tags" groups="note.group_note_tags"/>
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -130,7 +130,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Notes">
|
||||
<field name="memo" string="Note"/>
|
||||
<field name="tag_ids" groups="note.group_note_tags"/>
|
||||
<field name="tag_ids"/>
|
||||
<filter name="open_true" string="Active" domain="['|',('open', '=', True),('date_done','=',time.strftime('%%Y-%%m-%%d'))]"/>
|
||||
<filter name="open_false" string="Archive" domain="[('open', '=', False)]"/>
|
||||
<group expand="0" string="Group By...">
|
||||
@@ -159,10 +159,6 @@
|
||||
<field name="group_note_fancy" class="oe_inline"/>
|
||||
<label for="group_note_fancy"/>
|
||||
</div>
|
||||
<div>
|
||||
<field name="group_note_tags" class="oe_inline"/>
|
||||
<label for="group_note_tags"/>
|
||||
</div>
|
||||
</div>
|
||||
</group>
|
||||
</xpath>
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
id,name,implied_ids/id
|
||||
group_note_tags,Memo / Display tags,
|
||||
group_note_fancy,Memo / Fancy mode,
|
||||
|
||||
|
@@ -1,3 +0,0 @@
|
||||
memo.css: memo.sass
|
||||
sass -t expanded memo.sass memo.css
|
||||
|
||||
@@ -1,93 +1,53 @@
|
||||
@charset "utf-8";
|
||||
@font-face {
|
||||
font-family: "mnmliconsRegular";
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot");
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.woff") format("woff");
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.ttf") format("truetype");
|
||||
src: url("/web/static/src/font/mnmliconsv21-webfont.svg") format("svg") active;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "EntypoRegular";
|
||||
src: url("/web/static/src/font/entypo-webfont.eot") format("eot");
|
||||
src: url("/web/static/src/font/entypo-webfont.eot?#iefix") format("embedded-opentype");
|
||||
src: url("/web/static/src/font/entypo-webfont.woff") format("woff");
|
||||
src: url("/web/static/src/font/entypo-webfont.ttf") format("truetype");
|
||||
src: url("/web/static/src/font/entypo-webfont.svg") format("svg") active;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@-moz-keyframes bounce {
|
||||
0% {
|
||||
-moz-transform: scale(0);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
50% {
|
||||
-moz-transform: scale(1.3);
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
75% {
|
||||
-moz-transform: scale(0.9);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes bounce {
|
||||
0% {
|
||||
-webkit-transform: scale(0);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
50% {
|
||||
-webkit-transform: scale(1.3);
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
75% {
|
||||
-webkit-transform: scale(0.9);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
100% {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.oe_kanban_color_2 {
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.oe_kanban_column .note_text_line_through {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.openerp .oe_fold_column .oe_kanban_card_fancy {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
display: block;
|
||||
padding: 1em;
|
||||
margin-right: 1em;
|
||||
margin-bottom: 1em;
|
||||
-moz-box-shadow: 5px 5px 7px #212121;
|
||||
-webkit-box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7);
|
||||
box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7);
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_0 {
|
||||
box-shadow: 0px 4px 9px rgba(48, 48, 48, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_1 {
|
||||
box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_2 {
|
||||
box-shadow: 0px 4px 9px rgba(48, 0, 0, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_3 {
|
||||
box-shadow: 0px 4px 9px rgba(97, 93, 0, 0.16);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_4 {
|
||||
box-shadow: 0px 4px 9px rgba(77, 128, 0, 0.17);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_5 {
|
||||
box-shadow: 0px 4px 9px rgba(0, 88, 11, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_6 {
|
||||
box-shadow: 0px 4px 9px rgba(0, 80, 95, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_7 {
|
||||
box-shadow: 0px 4px 9px rgba(3, 13, 133, 0.18);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_8 {
|
||||
box-shadow: 0px 4px 9px rgba(56, 0, 128, 0.15);
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_notes .oe_kanban_card_fancy.oe_kanban_color_9 {
|
||||
box-shadow: 0px 4px 9px rgba(102, 0, 116, 0.15);
|
||||
}
|
||||
|
||||
.openerp .oe_kanban_record .oe_kanban_card_fancy {
|
||||
text-shadow: none;
|
||||
border-radius: 2px;
|
||||
padding: 12px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
padding-bottom: 16px;
|
||||
margin-bottom: 16px;
|
||||
-webkit-transform: rotate(-2deg);
|
||||
-o-transform: rotate(-2deg);
|
||||
-moz-transform: rotate(-2deg);
|
||||
-webkit-transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-moz-transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-ms-transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
transition: all 300ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
}
|
||||
.openerp .oe_kanban_record:nth-of-type(even) .oe_kanban_card_fancy {
|
||||
-webkit-transform: rotate(1deg);
|
||||
@@ -132,12 +92,14 @@
|
||||
|
||||
.openerp .oe_kanban_column .oe_fold_column .oe_kanban_card_fancy:hover,
|
||||
.openerp .oe_kanban_column .oe_fold_column .oe_kanban_card_fancy:focus {
|
||||
box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.7);
|
||||
-moz-box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.7);
|
||||
-webkit-box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.7);
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
-webkit-transform: rotate(0);
|
||||
-o-transform: rotate(0);
|
||||
-moz-transform: rotate(0);
|
||||
border-color: rgba(0, 0, 0, 0.4);
|
||||
-webkit-transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-moz-transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-ms-transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
transition: all 150ms cubic-bezier(0.5, 0, 0.5, 1);
|
||||
-webkit-transform: rotate(0) !important;
|
||||
-o-transform: rotate(0) !important;
|
||||
-moz-transform: rotate(0) !important;
|
||||
}
|
||||
|
||||
@@ -1,168 +1,54 @@
|
||||
@charset "utf-8"
|
||||
|
||||
// Variables {{{
|
||||
$section-title-color: #8786b7
|
||||
$tag-bg-light: #f0f0fa
|
||||
$tag-bg-dark: #8786b7
|
||||
$tag-border: #afafb6
|
||||
$tag-border-selected: #a6a6fe
|
||||
$hover-background: #f0f0fa
|
||||
$link-color: #8a89ba
|
||||
$sheet-max-width: 860px
|
||||
// }}}
|
||||
// Mixins {{{
|
||||
@font-face
|
||||
font-family: 'mnmliconsRegular'
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.eot') format('eot')
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.woff') format('woff')
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.ttf') format('truetype')
|
||||
src: url('/web/static/src/font/mnmliconsv21-webfont.svg') format('svg') active
|
||||
font-weight: normal
|
||||
font-style: normal
|
||||
|
||||
@font-face
|
||||
font-family: 'EntypoRegular'
|
||||
src: url('/web/static/src/font/entypo-webfont.eot') format('eot')
|
||||
src: url('/web/static/src/font/entypo-webfont.eot?#iefix') format('embedded-opentype')
|
||||
src: url('/web/static/src/font/entypo-webfont.woff') format('woff')
|
||||
src: url('/web/static/src/font/entypo-webfont.ttf') format('truetype')
|
||||
src: url('/web/static/src/font/entypo-webfont.svg') format('svg') active
|
||||
font-weight: normal
|
||||
font-style: normal
|
||||
|
||||
@mixin reset()
|
||||
border: none
|
||||
padding: 0
|
||||
margin: 0
|
||||
background: none
|
||||
@include radius(none)
|
||||
@include box-shadow(none)
|
||||
|
||||
@mixin vertical-gradient($startColor: #555, $endColor: #333)
|
||||
background-color: $startColor
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from($startColor), to($endColor)) /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient(top, $startColor, $endColor) /* Chrome 10+, Saf5.1+, iOS 5+ */
|
||||
background-image: -moz-linear-gradient(top, $startColor, $endColor) /* FF3.6 */
|
||||
background-image: -ms-linear-gradient(top, $startColor, $endColor) /* IE10 */
|
||||
background-image: -o-linear-gradient(top, $startColor, $endColor) /* Opera 11.10+ */
|
||||
background-image: linear-gradient(to bottom, $startColor, $endColor)
|
||||
|
||||
@mixin radial-gradient($gradient)
|
||||
background-position: center center
|
||||
background-image: -webkit-radial-gradient(circle, $gradient)
|
||||
background-image: -moz-radial-gradient($gradient)
|
||||
background-image: -ms-radial-gradient($gradient)
|
||||
background-image: radial-gradient($gradient)
|
||||
|
||||
@mixin radius($radius: 5px)
|
||||
-moz-border-radius: $radius
|
||||
-webkit-border-radius: $radius
|
||||
border-radius: $radius
|
||||
|
||||
@mixin box-shadow($bsval: 0px 1px 4px #777)
|
||||
-moz-box-shadow: $bsval
|
||||
-webkit-box-shadow: $bsval
|
||||
box-shadow: $bsval
|
||||
|
||||
@mixin transition($transval: (border linear 0.2s, box-shadow linear 0.2s))
|
||||
-webkit-transition: $transval
|
||||
-moz-transition: $transval
|
||||
-ms-transition: $transval
|
||||
-o-transition: $transval
|
||||
transition: $transval
|
||||
|
||||
@mixin opacity($opacity: .5)
|
||||
filter: alpha(opacity=$opacity * 100)
|
||||
opacity: $opacity
|
||||
|
||||
@mixin background-clip($clip: padding-box)
|
||||
-webkit-background-clip: $clip
|
||||
-moz-background-clip: $clip
|
||||
background-clip: $clip
|
||||
|
||||
@mixin box-sizing($type: content)
|
||||
// type = border || content || padding
|
||||
-webkit-box-sizing: #{$type}-box
|
||||
-moz-box-sizing: #{$type}-box
|
||||
-ms-box-sizing: #{$type}-box
|
||||
box-sizing: #{$type}-box
|
||||
|
||||
// Transforms the (readable) text of an inline element into an mmlicons icon,
|
||||
// allows for actual readable text in-code (and in readers?) with iconic looks
|
||||
@mixin text-to-icon($icon-name, $color: #404040)
|
||||
font-size: 1px
|
||||
letter-spacing: -1px
|
||||
color: transparent
|
||||
&: before
|
||||
font: 21px "mnmliconsRegular"
|
||||
content: $icon-name
|
||||
color: $color
|
||||
|
||||
// }}}
|
||||
// CSS animation bounces {{{
|
||||
@-moz-keyframes bounce
|
||||
0%
|
||||
-moz-transform: scale(0)
|
||||
opacity: 0
|
||||
50%
|
||||
-moz-transform: scale(1.3)
|
||||
opacity: 0.4
|
||||
75%
|
||||
-moz-transform: scale(0.9)
|
||||
opacity: 0.7
|
||||
100%
|
||||
-moz-transform: scale(1)
|
||||
opacity: 1
|
||||
|
||||
@-webkit-keyframes bounce
|
||||
0%
|
||||
-webkit-transform: scale(0)
|
||||
opacity: 0
|
||||
50%
|
||||
-webkit-transform: scale(1.3)
|
||||
opacity: 0.4
|
||||
75%
|
||||
-webkit-transform: scale(0.9)
|
||||
opacity: 0.7
|
||||
100%
|
||||
-webkit-transform: scale(1)
|
||||
opacity: 1
|
||||
// }}}
|
||||
|
||||
|
||||
.oe_kanban_color_2
|
||||
background-color: red
|
||||
|
||||
// au BufWritePost,FileWritePost *.sass : !sass --style expanded --line-numbers <afile> > "%: p: r.css"
|
||||
|
||||
.oe_kanban_column
|
||||
.note_text_line_through
|
||||
text-decoration: line-through
|
||||
|
||||
|
||||
.openerp
|
||||
.oe_fold_column
|
||||
.oe_kanban_card_fancy
|
||||
text-decoration: none
|
||||
color: #000
|
||||
display: block
|
||||
padding: 1em
|
||||
margin-right: 1em
|
||||
margin-bottom: 1em
|
||||
-moz-box-shadow: 5px 5px 7px rgba(33,33,33,1)
|
||||
-webkit-box-shadow: 5px 5px 7px rgba(33,33,33,.7)
|
||||
box-shadow: 5px 5px 7px rgba(33,33,33,.7)
|
||||
|
||||
|
||||
@mixin rotate($a)
|
||||
-webkit-transform: rotate($a)
|
||||
-o-transform: rotate($a)
|
||||
-webkit-transform: rotate($a)
|
||||
-o-transform: rotate($a)
|
||||
-moz-transform: rotate($a)
|
||||
|
||||
@mixin transition($what:all,$duration:100ms)
|
||||
-webkit-transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
-moz-transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
-ms-transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
transition: $what $duration cubic-bezier(0.5,0,0.5,1)
|
||||
|
||||
|
||||
.openerp
|
||||
.oe_kanban_view.oe_notes
|
||||
.oe_kanban_card_fancy.oe_kanban_color_0
|
||||
box-shadow: 0px 4px 9px rgba(48,48,48,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_1
|
||||
box-shadow: 0px 4px 9px rgba(0,0,0,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_2
|
||||
box-shadow: 0px 4px 9px rgba(48,0,0,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_3
|
||||
box-shadow: 0px 4px 9px rgba(97,93,0,0.16)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_4
|
||||
box-shadow: 0px 4px 9px rgba(77,128,0,0.17)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_5
|
||||
box-shadow: 0px 4px 9px rgba(0,88,11,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_6
|
||||
box-shadow: 0px 4px 9px rgba(0,80,95,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_7
|
||||
box-shadow: 0px 4px 9px rgba(3,13,133,0.18)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_8
|
||||
box-shadow: 0px 4px 9px rgba(56,0,128,0.15)
|
||||
.oe_kanban_card_fancy.oe_kanban_color_9
|
||||
box-shadow: 0px 4px 9px rgba(102,0,116,0.15)
|
||||
.oe_kanban_record
|
||||
.oe_kanban_card_fancy
|
||||
text-shadow: none
|
||||
border-radius: 2px
|
||||
padding: 12px
|
||||
margin-left: 3px
|
||||
margin-right: 3px
|
||||
padding-bottom: 16px
|
||||
margin-bottom: 16px
|
||||
@include rotate(-2deg)
|
||||
@include transition($what:all, $duration:300ms)
|
||||
.oe_kanban_record:nth-of-type(even)
|
||||
.oe_kanban_card_fancy
|
||||
@include rotate(1deg)
|
||||
@@ -193,17 +79,16 @@ $sheet-max-width: 860px
|
||||
@include rotate(-1deg)
|
||||
|
||||
|
||||
@mixin oe_kanban_card_fancy
|
||||
box-shadow: 10px 10px 7px rgba(0,0,0,.7)
|
||||
-moz-box-shadow: 10px 10px 7px rgba(0,0,0,.7)
|
||||
-webkit-box-shadow: 10px 10px 7px rgba(0,0,0,.7)
|
||||
position: relative
|
||||
z-index: 5
|
||||
@include rotate(0)
|
||||
|
||||
.openerp
|
||||
.oe_kanban_column
|
||||
.oe_fold_column
|
||||
.oe_kanban_card_fancy:hover,
|
||||
.oe_kanban_card_fancy:focus
|
||||
@include oe_kanban_card_fancy
|
||||
position: relative
|
||||
z-index: 5
|
||||
border-color: rgba(0,0,0,0.4)
|
||||
@include transition($what:all, $duration:150ms)
|
||||
-webkit-transform: rotate(0) !important
|
||||
-o-transform: rotate(0) !important
|
||||
-moz-transform: rotate(0) !important
|
||||
|
||||
|
||||
+41
-8
@@ -5,24 +5,56 @@ import re
|
||||
import string
|
||||
import urllib2
|
||||
from tools.translate import _
|
||||
from openerp.tools.misc import html2plaintext
|
||||
from py_etherpad import EtherpadLiteClient
|
||||
|
||||
class pad_common(osv.osv_memory):
|
||||
_name = 'pad.common'
|
||||
|
||||
def pad_generate_url(self, cr, uid, context=None):
|
||||
pad_server = self.pool.get('res.users').browse(cr, uid, uid, context).company_id.pad_server
|
||||
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id;
|
||||
|
||||
pad = {
|
||||
"server" : company.pad_server,
|
||||
"key" : company.pad_key or "4DxmsNIbnQUVQMW9S9tx2oLOSjFdrx1l",
|
||||
}
|
||||
|
||||
# make sure pad server in the form of http://hostname
|
||||
if not pad_server:
|
||||
if not pad["server"]:
|
||||
return ''
|
||||
if not pad_server.startswith('http'):
|
||||
pad_server = 'http://' + pad_server
|
||||
pad_server = pad_server.rstrip('/')
|
||||
if not pad["server"].startswith('http'):
|
||||
pad["server"] = 'http://' + pad["server"]
|
||||
pad["server"] = pad["server"].rstrip('/')
|
||||
# generate a salt
|
||||
s = string.ascii_uppercase + string.digits
|
||||
salt = ''.join([s[random.randint(0, len(s) - 1)] for i in range(10)])
|
||||
#path
|
||||
path = '%s-%s-%s' % (cr.dbname.replace('_','-'), self._name, salt)
|
||||
# contruct the url
|
||||
url = '%s/p/%s-%s-%s' % (pad_server, cr.dbname.replace('_','-'), self._name, salt)
|
||||
return url
|
||||
url = '%s/p/%s' % (pad["server"], path)
|
||||
|
||||
#if create with content
|
||||
if "field_name" in context and "model" in context and "object_id" in context:
|
||||
myPad = EtherpadLiteClient( pad["key"], pad["server"]+'/api')
|
||||
myPad.createPad(path)
|
||||
|
||||
#get attr on the field model
|
||||
model = self.pool.get(context["model"])
|
||||
field = model._all_columns[context['field_name']]
|
||||
real_field = field.column.pad_content_field
|
||||
|
||||
#get content of the real field
|
||||
for record in model.browse(cr, uid, [context["object_id"]]):
|
||||
if record[real_field]:
|
||||
myPad.setText(path, html2plaintext(record[real_field]))
|
||||
#Etherpad for html not functional
|
||||
#myPad.setHTML(path, record[real_field])
|
||||
|
||||
return {
|
||||
"server": pad["server"],
|
||||
"path": path,
|
||||
"url": url,
|
||||
}
|
||||
|
||||
def pad_get_content(self, cr, uid, url, context=None):
|
||||
content = ''
|
||||
@@ -57,7 +89,8 @@ class pad_common(osv.osv_memory):
|
||||
for k,v in self._all_columns:
|
||||
field = v.column
|
||||
if hasattr(field,'pad_content_field'):
|
||||
default[k] = self.pad_generate_url(cr, uid, context)
|
||||
pad = self.pad_generate_url(cr, uid, context)
|
||||
default[k] = pad['url']
|
||||
return super(pad_common, self).copy(cr, uid, id, default, context)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -0,0 +1,253 @@
|
||||
#!/usr/bin/env python
|
||||
"""Module to talk to EtherpadLite API."""
|
||||
|
||||
import json
|
||||
import urllib
|
||||
import urllib2
|
||||
|
||||
|
||||
class EtherpadLiteClient:
|
||||
"""Client to talk to EtherpadLite API."""
|
||||
API_VERSION = 1 # TODO probably 1.1 sometime soon
|
||||
|
||||
CODE_OK = 0
|
||||
CODE_INVALID_PARAMETERS = 1
|
||||
CODE_INTERNAL_ERROR = 2
|
||||
CODE_INVALID_FUNCTION = 3
|
||||
CODE_INVALID_API_KEY = 4
|
||||
TIMEOUT = 20
|
||||
|
||||
apiKey = ""
|
||||
baseUrl = "http://localhost:9001/api"
|
||||
|
||||
def __init__(self, apiKey=None, baseUrl=None):
|
||||
if apiKey:
|
||||
self.apiKey = apiKey
|
||||
|
||||
if baseUrl:
|
||||
self.baseUrl = baseUrl
|
||||
|
||||
def call(self, function, arguments=None):
|
||||
"""Create a dictionary of all parameters"""
|
||||
url = '%s/%d/%s' % (self.baseUrl, self.API_VERSION, function)
|
||||
|
||||
params = arguments or {}
|
||||
params.update({'apikey': self.apiKey})
|
||||
data = urllib.urlencode(params, True)
|
||||
|
||||
try:
|
||||
opener = urllib2.build_opener()
|
||||
request = urllib2.Request(url=url, data=data)
|
||||
response = opener.open(request, timeout=self.TIMEOUT)
|
||||
result = response.read()
|
||||
response.close()
|
||||
except urllib2.HTTPError:
|
||||
raise
|
||||
|
||||
result = json.loads(result)
|
||||
if result is None:
|
||||
raise ValueError("JSON response could not be decoded")
|
||||
|
||||
return self.handleResult(result)
|
||||
|
||||
def handleResult(self, result):
|
||||
"""Handle API call result"""
|
||||
if 'code' not in result:
|
||||
raise Exception("API response has no code")
|
||||
if 'message' not in result:
|
||||
raise Exception("API response has no message")
|
||||
|
||||
if 'data' not in result:
|
||||
result['data'] = None
|
||||
|
||||
if result['code'] == self.CODE_OK:
|
||||
return result['data']
|
||||
elif result['code'] == self.CODE_INVALID_PARAMETERS or result['code'] == self.CODE_INVALID_API_KEY:
|
||||
raise ValueError(result['message'])
|
||||
elif result['code'] == self.CODE_INTERNAL_ERROR:
|
||||
raise Exception(result['message'])
|
||||
elif result['code'] == self.CODE_INVALID_FUNCTION:
|
||||
raise Exception(result['message'])
|
||||
else:
|
||||
raise Exception("An unexpected error occurred whilst handling the response")
|
||||
|
||||
# GROUPS
|
||||
# Pads can belong to a group. There will always be public pads that do not belong to a group (or we give this group the id 0)
|
||||
|
||||
def createGroup(self):
|
||||
"""creates a new group"""
|
||||
return self.call("createGroup")
|
||||
|
||||
def createGroupIfNotExistsFor(self, groupMapper):
|
||||
"""this functions helps you to map your application group ids to etherpad lite group ids"""
|
||||
return self.call("createGroupIfNotExistsFor", {
|
||||
"groupMapper": groupMapper
|
||||
})
|
||||
|
||||
def deleteGroup(self, groupID):
|
||||
"""deletes a group"""
|
||||
return self.call("deleteGroup", {
|
||||
"groupID": groupID
|
||||
})
|
||||
|
||||
def listPads(self, groupID):
|
||||
"""returns all pads of this group"""
|
||||
return self.call("listPads", {
|
||||
"groupID": groupID
|
||||
})
|
||||
|
||||
def createGroupPad(self, groupID, padName, text=''):
|
||||
"""creates a new pad in this group"""
|
||||
params = {
|
||||
"groupID": groupID,
|
||||
"padName": padName,
|
||||
}
|
||||
if text:
|
||||
params['text'] = text
|
||||
return self.call("createGroupPad", params)
|
||||
|
||||
# AUTHORS
|
||||
# Theses authors are bind to the attributes the users choose (color and name).
|
||||
|
||||
def createAuthor(self, name=''):
|
||||
"""creates a new author"""
|
||||
params = {}
|
||||
if name:
|
||||
params['name'] = name
|
||||
return self.call("createAuthor", params)
|
||||
|
||||
def createAuthorIfNotExistsFor(self, authorMapper, name=''):
|
||||
"""this functions helps you to map your application author ids to etherpad lite author ids"""
|
||||
params = {
|
||||
'authorMapper': authorMapper
|
||||
}
|
||||
if name:
|
||||
params['name'] = name
|
||||
return self.call("createAuthorIfNotExistsFor", params)
|
||||
|
||||
# SESSIONS
|
||||
# Sessions can be created between a group and a author. This allows
|
||||
# an author to access more than one group. The sessionID will be set as
|
||||
# a cookie to the client and is valid until a certain date.
|
||||
|
||||
def createSession(self, groupID, authorID, validUntil):
|
||||
"""creates a new session"""
|
||||
return self.call("createSession", {
|
||||
"groupID": groupID,
|
||||
"authorID": authorID,
|
||||
"validUntil": validUntil
|
||||
})
|
||||
|
||||
def deleteSession(self, sessionID):
|
||||
"""deletes a session"""
|
||||
return self.call("deleteSession", {
|
||||
"sessionID": sessionID
|
||||
})
|
||||
|
||||
def getSessionInfo(self, sessionID):
|
||||
"""returns informations about a session"""
|
||||
return self.call("getSessionInfo", {
|
||||
"sessionID": sessionID
|
||||
})
|
||||
|
||||
def listSessionsOfGroup(self, groupID):
|
||||
"""returns all sessions of a group"""
|
||||
return self.call("listSessionsOfGroup", {
|
||||
"groupID": groupID
|
||||
})
|
||||
|
||||
def listSessionsOfAuthor(self, authorID):
|
||||
"""returns all sessions of an author"""
|
||||
return self.call("listSessionsOfAuthor", {
|
||||
"authorID": authorID
|
||||
})
|
||||
|
||||
# PAD CONTENT
|
||||
# Pad content can be updated and retrieved through the API
|
||||
|
||||
def getText(self, padID, rev=None):
|
||||
"""returns the text of a pad"""
|
||||
params = {"padID": padID}
|
||||
if rev is not None:
|
||||
params['rev'] = rev
|
||||
return self.call("getText", params)
|
||||
|
||||
# introduced with pull request merge
|
||||
def getHtml(self, padID, rev=None):
|
||||
"""returns the html of a pad"""
|
||||
params = {"padID": padID}
|
||||
if rev is not None:
|
||||
params['rev'] = rev
|
||||
return self.call("getHTML", params)
|
||||
|
||||
def setText(self, padID, text):
|
||||
"""sets the text of a pad"""
|
||||
return self.call("setText", {
|
||||
"padID": padID,
|
||||
"text": text
|
||||
})
|
||||
|
||||
def setHtml(self, padID, html):
|
||||
"""sets the text of a pad from html"""
|
||||
return self.call("setHTML", {
|
||||
"padID": padID,
|
||||
"html": html
|
||||
})
|
||||
|
||||
# PAD
|
||||
# Group pads are normal pads, but with the name schema
|
||||
# GROUPID$PADNAME. A security manager controls access of them and its
|
||||
# forbidden for normal pads to include a in the name.
|
||||
|
||||
def createPad(self, padID, text=''):
|
||||
"""creates a new pad"""
|
||||
params = {
|
||||
"padID": padID,
|
||||
}
|
||||
if text:
|
||||
params['text'] = text
|
||||
return self.call("createPad", params)
|
||||
|
||||
def getRevisionsCount(self, padID):
|
||||
"""returns the number of revisions of this pad"""
|
||||
return self.call("getRevisionsCount", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def deletePad(self, padID):
|
||||
"""deletes a pad"""
|
||||
return self.call("deletePad", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def getReadOnlyID(self, padID):
|
||||
"""returns the read only link of a pad"""
|
||||
return self.call("getReadOnlyID", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def setPublicStatus(self, padID, publicStatus):
|
||||
"""sets a boolean for the public status of a pad"""
|
||||
return self.call("setPublicStatus", {
|
||||
"padID": padID,
|
||||
"publicStatus": publicStatus
|
||||
})
|
||||
|
||||
def getPublicStatus(self, padID):
|
||||
"""return true of false"""
|
||||
return self.call("getPublicStatus", {
|
||||
"padID": padID
|
||||
})
|
||||
|
||||
def setPassword(self, padID, password):
|
||||
"""returns ok or a error message"""
|
||||
return self.call("setPassword", {
|
||||
"padID": padID,
|
||||
"password": password
|
||||
})
|
||||
|
||||
def isPasswordProtected(self, padID):
|
||||
"""returns true or false"""
|
||||
return self.call("isPasswordProtected", {
|
||||
"padID": padID
|
||||
})
|
||||
@@ -1,7 +1,12 @@
|
||||
.oe_pad_head {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
display: block;
|
||||
padding: 4px;
|
||||
text-align: right;
|
||||
}
|
||||
.oe_pad_head .oe_pad_switch {
|
||||
|
||||
}
|
||||
|
||||
.oe_pad_readonly {
|
||||
@@ -13,14 +18,38 @@
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background-color: white;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.oe_pad_content {
|
||||
border: solid 1px #c4c4c4;
|
||||
height: 150px;
|
||||
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
-moz-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
-ms-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
-o-box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
box-shadow: 0 5px 10px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.oe_pad_content > p {
|
||||
text-align: center;
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
.oe_pad_fullscreen .oe_pad_content {
|
||||
height: 100%;
|
||||
border: none;
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
-ms-box-shadow: none;
|
||||
-o-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.etherpad_readonly ul, .etherpad_readonly ol {
|
||||
|
||||
@@ -16,10 +16,17 @@ instance.web.form.FieldPad = instance.web.form.AbstractField.extend({
|
||||
var self = this;
|
||||
var _super = self._super;
|
||||
_super.apply(self,[val]);
|
||||
|
||||
if (val === false || val === "") {
|
||||
self.field_manager.dataset.call('pad_generate_url').then(function(r) {
|
||||
_super.apply(self,[r]);
|
||||
self.render_value();
|
||||
self.field_manager.dataset.call('pad_generate_url',{context:{
|
||||
model: self.field_manager.model,
|
||||
field_name: self.name,
|
||||
object_id: self.field_manager.datarecord.id
|
||||
}}).then(function(data) {
|
||||
if(data&&data.url){
|
||||
_super.apply(self,[data.url]);
|
||||
self.render_value();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
self.render_value();
|
||||
@@ -27,7 +34,6 @@ instance.web.form.FieldPad = instance.web.form.AbstractField.extend({
|
||||
this._dirty_flag = true;
|
||||
},
|
||||
render_value: function() {
|
||||
console.log("display");
|
||||
var self = this;
|
||||
var value = this.get('value');
|
||||
|
||||
|
||||
@@ -5,12 +5,14 @@
|
||||
<t t-name="FieldPad">
|
||||
<div class="oe_form_field_text oe_pad">
|
||||
<div class="oe_pad_head">
|
||||
<span class="oe_pad_switch">Fullscreen</span>
|
||||
<button class="oe_pad_switch oe_button">Fullscreen</button>
|
||||
</div>
|
||||
<div class="oe_pad_content"></div>
|
||||
</div>
|
||||
</t>
|
||||
<t t-name="FieldPad.unconfigured">
|
||||
<p>
|
||||
You must configure the etherpad through the menu Setting > Companies > Companies, in the configuration tab of your company.<br/>
|
||||
</p>
|
||||
</t>
|
||||
</templates>
|
||||
|
||||
+44
-31
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -108,7 +108,7 @@ msgstr "ساعات التحقق من الصلاحية"
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Pending Projects"
|
||||
msgstr ""
|
||||
msgstr "مشاريع قيد الإنتظار"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,remaining_hours:0
|
||||
@@ -563,7 +563,7 @@ msgstr "فتح المشاريع"
|
||||
#: code:addons/project/project.py:358
|
||||
#, python-format
|
||||
msgid "You must assign members on the project '%s' !"
|
||||
msgstr ""
|
||||
msgstr "يجب تعيين أعضاء في المشروع '%s' !"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -641,7 +641,7 @@ msgstr "وسط"
|
||||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "Pending Tasks"
|
||||
msgstr ""
|
||||
msgstr "مهام قيد الإنتظار"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task,remaining_hours:0
|
||||
@@ -682,7 +682,7 @@ msgstr "معلومات"
|
||||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "Unassigned Tasks"
|
||||
msgstr ""
|
||||
msgstr "مهام غير معينة"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -789,6 +789,7 @@ msgid ""
|
||||
"You cannot delete a project containing tasks. I suggest you to desactivate "
|
||||
"it."
|
||||
msgstr ""
|
||||
"لا يمكنك حذف المهام المحتواة في المشروع. انا اقترح لك جعلها غير نشطة."
|
||||
|
||||
#. module: project
|
||||
#: view:project.vs.hours:0
|
||||
@@ -813,7 +814,7 @@ msgstr "ساعات تأخير"
|
||||
#. module: project
|
||||
#: selection:project.task,priority:0
|
||||
msgid "Very important"
|
||||
msgstr ""
|
||||
msgstr "شديد الأهمية"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_project_task_user_tree
|
||||
@@ -834,6 +835,8 @@ msgid ""
|
||||
"If you check this field, the project manager will receive an email each time "
|
||||
"a task is completed by his team."
|
||||
msgstr ""
|
||||
"إذا قمت بتحديد هذا الحقل فإن مدير المشروع سوف يتلقى رسالة بريد إلكتروني في "
|
||||
"كل مرة يتم الانتهاء من المهمة لفريقه."
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_project
|
||||
@@ -867,7 +870,7 @@ msgstr "مراحل"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change to Previous Stage"
|
||||
msgstr ""
|
||||
msgstr "التغيير للمرحلة السابقة"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.todo.category,name:project.category_project_config
|
||||
@@ -910,7 +913,7 @@ msgstr "الرئيسي"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr ""
|
||||
msgstr "تحدد كمحظورة"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
@@ -999,7 +1002,7 @@ msgstr "الساعات المخططة"
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_review_task_stage
|
||||
msgid "Review Task Stages"
|
||||
msgstr ""
|
||||
msgstr "استعراض مراحل المهمة"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -1009,7 +1012,7 @@ msgstr "الحالات: %(الحالة)"
|
||||
#. module: project
|
||||
#: help:project.task,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of tasks."
|
||||
msgstr ""
|
||||
msgstr "يعطي النظام تسلسل عند عرض قائمة المهام."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 view:project.task:0
|
||||
@@ -1021,7 +1024,7 @@ msgstr "تاريخ البدء"
|
||||
#: selection:project.task.history,kanban_state:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Ready To Pull"
|
||||
msgstr ""
|
||||
msgstr "على استعداد للسحب"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task,parent_ids:0
|
||||
@@ -1034,7 +1037,7 @@ msgstr "المهام الاساسية"
|
||||
#: view:project.task.history.cumulative:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
msgstr "محظورة"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,progress:0
|
||||
@@ -1042,6 +1045,8 @@ msgid ""
|
||||
"If the task has a progress of 99.99% you should close the task if it's "
|
||||
"finished or reevaluate the time"
|
||||
msgstr ""
|
||||
"إذا كانت المهمة لديها من التقدم 99.99٪ يجب إغلاق المهمة إذا تم الإنتهاء أو "
|
||||
"إعادة تقييم الوقت"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -1070,7 +1075,7 @@ msgstr "عمليات الفواتير"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "For changing to delegate state"
|
||||
msgstr ""
|
||||
msgstr "لتغيير تفويض حالة"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,priority:0 field:report.project.task.user,priority:0
|
||||
@@ -1097,7 +1102,7 @@ msgstr "اعادة تقييم.المهمة.المشروع"
|
||||
#: code:addons/project/wizard/project_task_delegate.py:81
|
||||
#, python-format
|
||||
msgid "CHECK: %s"
|
||||
msgstr ""
|
||||
msgstr "التحقق: %s"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -1152,7 +1157,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Type"
|
||||
msgstr ""
|
||||
msgstr "تغير النوع"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,members:0
|
||||
@@ -1198,7 +1203,7 @@ msgstr "اسم المشروع"
|
||||
#: model:ir.model,name:project.model_project_task_history
|
||||
#: model:ir.model,name:project.model_project_task_history_cumulative
|
||||
msgid "History of Tasks"
|
||||
msgstr ""
|
||||
msgstr "تاريخ المهام"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task.delegate,state:0
|
||||
@@ -1212,7 +1217,7 @@ msgstr ""
|
||||
#: code:addons/project/wizard/mail_compose_message.py:45
|
||||
#, python-format
|
||||
msgid "Please specify the Customer or email address of Customer."
|
||||
msgstr ""
|
||||
msgstr "يرجى تحديد العميل أو عنوان البريد الإلكتروني للعملاء."
|
||||
|
||||
#. module: project
|
||||
#: selection:report.project.task.user,month:0
|
||||
@@ -1265,7 +1270,7 @@ msgstr "نوفمبر"
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_create_initial_projects_installer
|
||||
msgid "Create your Firsts Projects"
|
||||
msgstr ""
|
||||
msgstr "إنشاء أوليات مشاريعك"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:229
|
||||
@@ -1276,7 +1281,7 @@ msgstr "تم غلق المشروع ‘%s‘."
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Tasks's Cumulative Flow"
|
||||
msgstr ""
|
||||
msgstr "المهام والتدفق التراكمي"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
@@ -1291,7 +1296,7 @@ msgstr "أكتوبر"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Validate planned time and open task"
|
||||
msgstr ""
|
||||
msgstr "التحقق من صحة الوقت المخطط له والمهام المفتوحة"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,delay_hours:0
|
||||
@@ -1299,10 +1304,12 @@ msgid ""
|
||||
"Computed as difference between planned hours by the project manager and the "
|
||||
"total hours of the task."
|
||||
msgstr ""
|
||||
"تحسب الفرق بين الساعات المخطط لها من قبل مدير المشروع والساعات الإجمالية "
|
||||
"للمهمة."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
@@ -1331,7 +1338,7 @@ msgstr "الشركات"
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Projects in which I am a member."
|
||||
msgstr ""
|
||||
msgstr "المشاريع التي أنا عضو."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -1426,7 +1433,7 @@ msgstr "مرشحات مفصلة..."
|
||||
#: code:addons/project/project.py:1148
|
||||
#, python-format
|
||||
msgid "Please delete the project linked with this account first."
|
||||
msgstr ""
|
||||
msgstr "رجاء قم بحذف رابط المشروع مع هذا الحساب أولاً"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,total_hours:0 field:project.vs.hours,total_hours:0
|
||||
@@ -1527,7 +1534,7 @@ msgstr "قيد التقدم"
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Task's Analysis"
|
||||
msgstr ""
|
||||
msgstr "تحليل المهمة"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:789
|
||||
@@ -1536,11 +1543,13 @@ msgid ""
|
||||
"Child task still open.\n"
|
||||
"Please cancel or complete child task first."
|
||||
msgstr ""
|
||||
"المهمة الوليدة التي لا تزال مفتوحة .\n"
|
||||
" يرجى إلغاء أو إكمال المهمة الوليدة أولاص."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.type:0
|
||||
msgid "Stages common to all projects"
|
||||
msgstr ""
|
||||
msgstr "مشاريع مشتركة بين جميع المراحل"
|
||||
|
||||
#. module: project
|
||||
#: constraint:project.task:0
|
||||
@@ -1561,7 +1570,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Projects in which I am a manager"
|
||||
msgstr ""
|
||||
msgstr "المشاريع التي أنا مديرها"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:959
|
||||
@@ -1660,6 +1669,8 @@ msgid ""
|
||||
"If you check this field, this stage will be proposed by default on each new "
|
||||
"project. It will not assign this stage to existing projects."
|
||||
msgstr ""
|
||||
"إذا قمت بتحديد هذا الحقل، سيتم اقترح هذه المرحلة بشكل افتراضي على كل مشروع "
|
||||
"جديد. وسوف يتم تعيين هذه المرحلة للمشاريع القائمة."
|
||||
|
||||
#. module: project
|
||||
#: view:board.board:0
|
||||
@@ -1720,7 +1731,7 @@ msgstr "مجموع الساعات الكلية لكل المهام المتعل
|
||||
#. module: project
|
||||
#: field:project.task.type,project_default:0
|
||||
msgid "Common to All Projects"
|
||||
msgstr ""
|
||||
msgstr "مشاريع مشتركة بين الجميع"
|
||||
|
||||
#. module: project
|
||||
#: model:process.transition,note:project.process_transition_opendonetask0
|
||||
@@ -1773,7 +1784,7 @@ msgstr "ملخص العمل"
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Month-2"
|
||||
msgstr ""
|
||||
msgstr "الشهر-2"
|
||||
|
||||
#. module: project
|
||||
#: help:report.project.task.user,closing_days:0
|
||||
@@ -1821,6 +1832,8 @@ msgid ""
|
||||
"The stages can be common to all project or specific to one project. Each "
|
||||
"task will follow the different stages in order to be closed."
|
||||
msgstr ""
|
||||
"يمكن للمراحل تكون مشتركة بين جميع المشاريع أو محددة لمشروع واحد. كل مهمة سوف "
|
||||
"تتبع المراحل المختلفة من أجل أن تكون مغلقة."
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,sequence:0
|
||||
@@ -1949,7 +1962,7 @@ msgstr "تم الغاء المهمة ‘%s‘."
|
||||
#. module: project
|
||||
#: view:project.task:0 view:res.partner:0
|
||||
msgid "For changing to open state"
|
||||
msgstr ""
|
||||
msgstr "للتغير إلى الحالة المفتوحة"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_partner view:project.project:0
|
||||
@@ -1983,7 +1996,7 @@ msgstr "تذييل البريد"
|
||||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "In Progress Tasks"
|
||||
msgstr ""
|
||||
msgstr "مهام في قيد التقدم"
|
||||
|
||||
#~ msgid "Timesheets"
|
||||
#~ msgstr "الجداول الزمنية"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1275,7 +1275,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1322,7 +1322,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: project
|
||||
@@ -1298,7 +1298,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1336,8 +1336,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Delegationsverlauf"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2573,3 +2573,6 @@ msgstr "Aufgaben in Bearbeitung"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Email-Zusammensetzung Assistent"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Delegationsverlauf"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"X-Poedit-Country: GREECE\n"
|
||||
"X-Poedit-Language: Greek\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
@@ -1287,7 +1287,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1325,8 +1325,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de delegaciones"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2568,3 +2568,6 @@ msgstr ""
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistente de composición de e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de delegaciones"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1284,7 +1284,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"Language: \n"
|
||||
|
||||
#. module: project
|
||||
@@ -1333,8 +1333,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de delegaciones"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2582,3 +2582,6 @@ msgstr "Tarea en progreso"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistente de composición de e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de delegaciones"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1330,8 +1330,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de delegaciones"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2568,3 +2568,6 @@ msgstr "Tareas en progreso"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistente de composición de e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de delegaciones"
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1282,7 +1282,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1280,7 +1280,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1299,8 +1299,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Delegointien historia"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2338,3 +2338,6 @@ msgstr "Meneilläänolevat tehtävät"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Sähköpostin luonti velho"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Delegointien historia"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1338,8 +1338,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Historique des délégations"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2587,5 +2587,8 @@ msgstr "Tâches en cours"
|
||||
#~ msgid "Manager Email"
|
||||
#~ msgstr "Courriel du responsable"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Historique des délégations"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Assistant de composition de courriels"
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
#. module: project
|
||||
@@ -1283,7 +1283,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
+13
-10
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -79,7 +79,7 @@ msgstr "Nem engedélyezett művelet!"
|
||||
#: code:addons/project/wizard/project_task_delegate.py:78
|
||||
#, python-format
|
||||
msgid "CHECK: "
|
||||
msgstr ""
|
||||
msgstr "ELLENŐRIZNI: "
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,user_email:0
|
||||
@@ -263,7 +263,7 @@ msgstr "Nap"
|
||||
#. module: project
|
||||
#: model:ir.ui.menu,name:project.menu_project_config_project
|
||||
msgid "Projects and Stages"
|
||||
msgstr ""
|
||||
msgstr "Projektek és Szakaszok"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -485,7 +485,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Color"
|
||||
msgstr ""
|
||||
msgstr "Szín megváltoztatása"
|
||||
|
||||
#. module: project
|
||||
#: constraint:account.analytic.account:0
|
||||
@@ -920,7 +920,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr ""
|
||||
msgstr "Blokkoltnak jelölés"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
@@ -1047,7 +1047,7 @@ msgstr "Forrás feladatok"
|
||||
#: view:project.task.history.cumulative:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
msgstr "Blokkolva"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,progress:0
|
||||
@@ -1110,7 +1110,7 @@ msgstr "project.task.reevaluate"
|
||||
#: code:addons/project/wizard/project_task_delegate.py:81
|
||||
#, python-format
|
||||
msgid "CHECK: %s"
|
||||
msgstr ""
|
||||
msgstr "ELLENŐRIZNI: %s"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -1320,7 +1320,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
@@ -1558,7 +1558,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.task.type:0
|
||||
msgid "Stages common to all projects"
|
||||
msgstr ""
|
||||
msgstr "Közös használatú szakaszok"
|
||||
|
||||
#. module: project
|
||||
#: constraint:project.task:0
|
||||
@@ -2222,3 +2222,6 @@ msgstr ""
|
||||
|
||||
#~ msgid "Automatically synchronizes project tasks and crm cases."
|
||||
#~ msgstr "Automatikusan összehangolja a projektfeladatokat és a crm eseteket."
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Átruházás történet"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1275,7 +1275,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1320,7 +1320,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1294,8 +1294,8 @@ msgstr "プロジェクトマネジャによる計画時間数とタスクの合
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "委任の履歴"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -1969,3 +1969,6 @@ msgstr "進行中タスク"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Eメール作成ウィザード"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "委任の履歴"
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1285,7 +1285,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1314,7 +1314,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1323,8 +1323,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Ацагласан Түүх"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2335,3 +2335,6 @@ msgstr "Боловсруулагдаж байгаа даалгаврууд"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "И-мэйл үүсгэх харилцах цонх"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Ацагласан Түүх"
|
||||
|
||||
+77
-62
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -37,6 +37,7 @@ msgstr "Oppgaven '%s' er tildelt til %s."
|
||||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr ""
|
||||
"Det valgte firmaet er ikke i listen over tillatte firmaer for denne brukeren"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -81,7 +82,7 @@ msgstr "SJEKK: "
|
||||
#. module: project
|
||||
#: field:project.task,user_email:0
|
||||
msgid "User Email"
|
||||
msgstr ""
|
||||
msgstr "E-post for bruker"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,work_ids:0
|
||||
@@ -93,7 +94,7 @@ msgstr "Arbeid utført"
|
||||
#: code:addons/project/project.py:1148
|
||||
#, python-format
|
||||
msgid "Warning !"
|
||||
msgstr ""
|
||||
msgstr "Advarsel !"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_task_delegate
|
||||
@@ -121,7 +122,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Re-open project"
|
||||
msgstr ""
|
||||
msgstr "Gjenåpne prosjekt"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,priority:0
|
||||
@@ -131,7 +132,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: constraint:project.project:0
|
||||
msgid "Error! project start-date must be lower then project end-date."
|
||||
msgstr ""
|
||||
msgstr "Feil! Startdato for prosjekt må være tidligere enn sluttdato."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.reevaluate:0
|
||||
@@ -180,7 +181,7 @@ msgstr "Mine oppgaver"
|
||||
#. module: project
|
||||
#: constraint:project.task:0
|
||||
msgid "Error ! You cannot create recursive tasks."
|
||||
msgstr ""
|
||||
msgstr "Feil! Du kan ikke lage en uendelig struktur av oppgaver."
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,company_id:0 field:project.task.work,company_id:0
|
||||
@@ -201,7 +202,7 @@ msgstr "Din oppgavetittel"
|
||||
#. module: project
|
||||
#: field:project.task.type,name:0
|
||||
msgid "Stage Name"
|
||||
msgstr ""
|
||||
msgstr "Fasenavn"
|
||||
|
||||
#. module: project
|
||||
#: model:process.transition.action,name:project.process_transition_action_openpendingtask0
|
||||
@@ -211,7 +212,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: selection:project.task,priority:0
|
||||
msgid "Important"
|
||||
msgstr ""
|
||||
msgstr "Viktig"
|
||||
|
||||
#. module: project
|
||||
#: model:process.node,note:project.process_node_drafttask0
|
||||
@@ -221,7 +222,7 @@ msgstr "Definer krav og oppgi planlagte timer"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Stage"
|
||||
msgstr ""
|
||||
msgstr "Endre fase"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -258,7 +259,7 @@ msgstr "Dag"
|
||||
#. module: project
|
||||
#: model:ir.ui.menu,name:project.menu_project_config_project
|
||||
msgid "Projects and Stages"
|
||||
msgstr ""
|
||||
msgstr "Prosjekter og faser"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -294,12 +295,12 @@ msgstr "Mine åpne oppgaver"
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please specify the Project Manager or email address of Project Manager."
|
||||
msgstr ""
|
||||
msgstr "Vennligst angi prosjektleder eller e-post-adresse for prosjektleder."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "For cancelling the task"
|
||||
msgstr ""
|
||||
msgstr "For å avbryte oppgaven"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_task_work
|
||||
@@ -361,7 +362,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Show only tasks having a deadline"
|
||||
msgstr ""
|
||||
msgstr "Vis kun oppgaver med deadline"
|
||||
|
||||
#. module: project
|
||||
#: selection:project.task,state:0 selection:project.task.history,state:0
|
||||
@@ -374,7 +375,7 @@ msgstr "Kansellert"
|
||||
#. module: project
|
||||
#: field:project.task,date_end:0 field:report.project.task.user,date_end:0
|
||||
msgid "Ending Date"
|
||||
msgstr ""
|
||||
msgstr "Sluttdato"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 field:project.project,warn_header:0
|
||||
@@ -384,7 +385,7 @@ msgstr "E-post topptekst"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change to Next Stage"
|
||||
msgstr ""
|
||||
msgstr "Endre til neste fase"
|
||||
|
||||
#. module: project
|
||||
#: model:process.node,name:project.process_node_donetask0
|
||||
@@ -394,7 +395,7 @@ msgstr "Fullførte oppgaver"
|
||||
#. module: project
|
||||
#: field:project.task,color:0
|
||||
msgid "Color Index"
|
||||
msgstr ""
|
||||
msgstr "Fargeindeks"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.ui.menu,name:project.menu_definitions view:res.company:0
|
||||
@@ -404,7 +405,7 @@ msgstr "Konfigurasjon"
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "Current Month"
|
||||
msgstr ""
|
||||
msgstr "Inneværende måned"
|
||||
|
||||
#. module: project
|
||||
#: model:process.transition,note:project.process_transition_delegate0
|
||||
@@ -414,7 +415,7 @@ msgstr "Delegerer oppgaver til den andre brukeren"
|
||||
#. module: project
|
||||
#: view:project.project:0 view:project.task:0 view:report.project.task.user:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "Grupper etter ..."
|
||||
|
||||
#. module: project
|
||||
#: field:project.task.work,user_id:0
|
||||
@@ -433,7 +434,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: model:project.task.type,name:project.project_tt_testing
|
||||
msgid "Testing"
|
||||
msgstr ""
|
||||
msgstr "Tester"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:829
|
||||
@@ -471,17 +472,17 @@ msgstr "_Avbryt"
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
msgstr "Klar"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Color"
|
||||
msgstr ""
|
||||
msgstr "Bytt farge"
|
||||
|
||||
#. module: project
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
msgstr "Feil! Du kan ikke opprette uendelig struktur med analytiske kontoer."
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:264 code:addons/project/project.py:303
|
||||
@@ -492,12 +493,12 @@ msgstr " (kopi)"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "New Tasks"
|
||||
msgstr ""
|
||||
msgstr "Ny oppgave"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0 field:report.project.task.user,nbr:0
|
||||
msgid "# of tasks"
|
||||
msgstr ""
|
||||
msgstr "Antall oppgaver"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
@@ -517,7 +518,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr ""
|
||||
msgstr "Du kan ikke ha to brukere med samme login!"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -537,7 +538,7 @@ msgstr "Mine prosjekter"
|
||||
#. module: project
|
||||
#: constraint:res.company:0
|
||||
msgid "Error! You can not create recursive companies."
|
||||
msgstr ""
|
||||
msgstr "Feil! Dukan ikke opprette uendelig struktur av firmaer."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
@@ -552,23 +553,23 @@ msgstr "From draft state, it will come into the open state."
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0 field:report.project.task.user,no_of_days:0
|
||||
msgid "# of Days"
|
||||
msgstr ""
|
||||
msgstr "Antall dager"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Open Projects"
|
||||
msgstr ""
|
||||
msgstr "Åpne prosjekter"
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:358
|
||||
#, python-format
|
||||
msgid "You must assign members on the project '%s' !"
|
||||
msgstr ""
|
||||
msgstr "Du må tilordne deltakere til prosjekt '%s'!"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "In progress tasks"
|
||||
msgstr ""
|
||||
msgstr "Oppgaver i arbeid"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,progress_rate:0
|
||||
@@ -592,7 +593,7 @@ msgstr "Prosjektoppgave"
|
||||
#: selection:project.task.history.cumulative,state:0
|
||||
#: view:report.project.task.user:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Ny"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,total_hours:0
|
||||
@@ -625,7 +626,7 @@ msgstr ""
|
||||
#: code:addons/project/project.py:597
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr ""
|
||||
msgstr "%s (kopi)"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -641,7 +642,7 @@ msgstr "Medium"
|
||||
#. module: project
|
||||
#: view:project.task:0 view:project.task.history.cumulative:0
|
||||
msgid "Pending Tasks"
|
||||
msgstr ""
|
||||
msgstr "Ventende oppgaver"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task,remaining_hours:0
|
||||
@@ -659,13 +660,13 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
msgstr "Opprettelsesdato"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0 field:project.task.history,remaining_hours:0
|
||||
#: field:project.task.history.cumulative,remaining_hours:0
|
||||
msgid "Remaining Time"
|
||||
msgstr ""
|
||||
msgstr "Gjenstående tid"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,planned_hours:0
|
||||
@@ -755,7 +756,7 @@ msgstr "Prosjekter"
|
||||
#: field:project.task.history.cumulative,type_id:0
|
||||
#: view:report.project.task.user:0 field:report.project.task.user,type_id:0
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
msgstr "Fase"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.open_task_type_form
|
||||
@@ -769,7 +770,7 @@ msgstr ""
|
||||
#: code:addons/project/project.py:903
|
||||
#, python-format
|
||||
msgid "The task '%s' is opened."
|
||||
msgstr ""
|
||||
msgstr "Oppgaven '%s' er åpnet."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
@@ -788,6 +789,8 @@ msgid ""
|
||||
"You cannot delete a project containing tasks. I suggest you to desactivate "
|
||||
"it."
|
||||
msgstr ""
|
||||
"Du kan ikke slette et prosjekt som har oppgaver. Prosjektet kan evt. "
|
||||
"deaktiveres."
|
||||
|
||||
#. module: project
|
||||
#: view:project.vs.hours:0
|
||||
@@ -812,7 +815,7 @@ msgstr "Timer forsinket"
|
||||
#. module: project
|
||||
#: selection:project.task,priority:0
|
||||
msgid "Very important"
|
||||
msgstr ""
|
||||
msgstr "Veldig viktig"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_project_task_user_tree
|
||||
@@ -833,6 +836,8 @@ msgid ""
|
||||
"If you check this field, the project manager will receive an email each time "
|
||||
"a task is completed by his team."
|
||||
msgstr ""
|
||||
"Ved avkryssing vil prosjektleder motta en e-post hver gang en oppgave blir "
|
||||
"fullført av hans team."
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_project_project
|
||||
@@ -861,12 +866,12 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:project.open_task_type_form
|
||||
#: model:ir.ui.menu,name:project.menu_task_types_view
|
||||
msgid "Stages"
|
||||
msgstr ""
|
||||
msgstr "Faser"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change to Previous Stage"
|
||||
msgstr ""
|
||||
msgstr "Endre til foregående fase"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.todo.category,name:project.category_project_config
|
||||
@@ -882,7 +887,7 @@ msgstr "Prosjekt time enhet"
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "In progress"
|
||||
msgstr ""
|
||||
msgstr "I arbeid"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_project_task_delegate
|
||||
@@ -909,7 +914,7 @@ msgstr "Overordnet"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr ""
|
||||
msgstr "Marker som blokkert"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
@@ -952,7 +957,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.task.reevaluate:0
|
||||
msgid "Reevaluate Task"
|
||||
msgstr ""
|
||||
msgstr "Evaluer oppgave på nytt"
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0 view:report.project.task.user:0
|
||||
@@ -969,12 +974,12 @@ msgstr "Prosjektoppgaver"
|
||||
#: model:ir.model,name:project.model_project_task_type
|
||||
#: view:project.task.type:0
|
||||
msgid "Task Stage"
|
||||
msgstr ""
|
||||
msgstr "Oppgavefase"
|
||||
|
||||
#. module: project
|
||||
#: model:project.task.type,name:project.project_tt_specification
|
||||
msgid "Design"
|
||||
msgstr ""
|
||||
msgstr "Utforming"
|
||||
|
||||
#. module: project
|
||||
#: field:project.task,planned_hours:0
|
||||
@@ -987,7 +992,7 @@ msgstr "Planlagte timer"
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.action_review_task_stage
|
||||
msgid "Review Task Stages"
|
||||
msgstr ""
|
||||
msgstr "Gjennomgå oppgavefaser"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
@@ -997,7 +1002,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: help:project.task,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of tasks."
|
||||
msgstr ""
|
||||
msgstr "Gir sorteringsrekkefølge ved listing av oppgaver"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 view:project.task:0
|
||||
@@ -1022,7 +1027,7 @@ msgstr "Overordnede oppgaver"
|
||||
#: view:project.task.history.cumulative:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
msgstr "Blokkert"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,progress:0
|
||||
@@ -1034,7 +1039,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.project:0
|
||||
msgid "Contact Address"
|
||||
msgstr ""
|
||||
msgstr "Kontaktadresse"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task,kanban_state:0
|
||||
@@ -1137,7 +1142,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Change Type"
|
||||
msgstr ""
|
||||
msgstr "Endre type"
|
||||
|
||||
#. module: project
|
||||
#: help:project.project,members:0
|
||||
@@ -1145,6 +1150,8 @@ msgid ""
|
||||
"Project's members are users who can have an access to the tasks related to "
|
||||
"this project."
|
||||
msgstr ""
|
||||
"Prosjektdeltakere er brukere som har tilgang til oppgavene som hører til "
|
||||
"prosjektet."
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 field:project.task,manager_id:0
|
||||
@@ -1154,12 +1161,12 @@ msgstr "Prosjektleder"
|
||||
#. module: project
|
||||
#: view:project.task:0 view:res.partner:0
|
||||
msgid "For changing to done state"
|
||||
msgstr ""
|
||||
msgstr "For å bytte til ferdig tilstand"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_report_project_task_user
|
||||
msgid "Tasks by user and project"
|
||||
msgstr ""
|
||||
msgstr "Oppgaver pr. bruker og prosjekt"
|
||||
|
||||
#. module: project
|
||||
#: selection:report.project.task.user,month:0
|
||||
@@ -1171,7 +1178,7 @@ msgstr "August"
|
||||
#: selection:project.task.history,kanban_state:0
|
||||
#: selection:project.task.history.cumulative,kanban_state:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: project
|
||||
#: view:project.project:0 field:project.project,complete_name:0
|
||||
@@ -1182,7 +1189,7 @@ msgstr "Prosjektnavn"
|
||||
#: model:ir.model,name:project.model_project_task_history
|
||||
#: model:ir.model,name:project.model_project_task_history_cumulative
|
||||
msgid "History of Tasks"
|
||||
msgstr ""
|
||||
msgstr "Oppgavehistorikk"
|
||||
|
||||
#. module: project
|
||||
#: help:project.task.delegate,state:0
|
||||
@@ -1211,7 +1218,7 @@ msgstr "Totaltid"
|
||||
#: view:report.project.task.user:0
|
||||
#: field:report.project.task.user,closing_days:0
|
||||
msgid "Days to Close"
|
||||
msgstr ""
|
||||
msgstr "Dager til lukking"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,name:project.open_board_project
|
||||
@@ -1227,7 +1234,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: model:res.groups,name:project.group_project_user
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Bruker"
|
||||
|
||||
#. module: project
|
||||
#: field:project.project,active:0
|
||||
@@ -1238,7 +1245,7 @@ msgstr "Aktiv"
|
||||
#: view:report.project.task.user:0
|
||||
#: field:report.project.task.user,opening_days:0
|
||||
msgid "Days to Open"
|
||||
msgstr ""
|
||||
msgstr "Dager til åpning"
|
||||
|
||||
#. module: project
|
||||
#: selection:report.project.task.user,month:0
|
||||
@@ -1254,7 +1261,7 @@ msgstr ""
|
||||
#: code:addons/project/project.py:229
|
||||
#, python-format
|
||||
msgid "The project '%s' has been closed."
|
||||
msgstr ""
|
||||
msgstr "Prosjektet '%s' er lukket."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task.history.cumulative:0
|
||||
@@ -1287,7 +1294,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
@@ -1301,6 +1308,8 @@ msgid ""
|
||||
"If the active field is set to False, it will allow you to hide the project "
|
||||
"without removing it."
|
||||
msgstr ""
|
||||
"Ved å fjerne avkryssing for Aktiv vil prosjektet skjules uten å måtte "
|
||||
"slettes."
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
@@ -1326,7 +1335,7 @@ msgstr "Søk i prosjekt"
|
||||
#: code:addons/project/project.py:251
|
||||
#, python-format
|
||||
msgid "The project '%s' has been opened."
|
||||
msgstr ""
|
||||
msgstr "Prosjektet '%s' er åpnet."
|
||||
|
||||
#. module: project
|
||||
#: field:project.task.history,date:0
|
||||
@@ -1401,7 +1410,7 @@ msgstr ""
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
msgstr "Utvidede filtre ..."
|
||||
|
||||
#. module: project
|
||||
#: code:addons/project/project.py:1148
|
||||
@@ -2191,3 +2200,9 @@ msgstr ""
|
||||
|
||||
#~ msgid "Running projects"
|
||||
#~ msgstr "Løpende prosjekter"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Delegeringshistorikk"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Veiviser for opprettelse av e-post"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -920,7 +920,7 @@ msgstr "Bovenliggend"
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Mark as Blocked"
|
||||
msgstr "Maarkeer als geblokkeerd"
|
||||
msgstr "Markeer als geblokkeerd"
|
||||
|
||||
#. module: project
|
||||
#: model:ir.actions.act_window,help:project.action_view_task
|
||||
@@ -1325,8 +1325,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Deligatiehistorie"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2566,3 +2566,6 @@ msgstr "Lopende taken"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "E-mail opmaak wizard"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Deligatiehistorie"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1317,7 +1317,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1322,8 +1322,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Historia przydziałów"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2529,3 +2529,6 @@ msgstr "Zadania w toku"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Kreator tworzenia wiadomości"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Historia przydziałów"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1328,8 +1328,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico das delegações"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2561,5 +2561,8 @@ msgstr "Tarefas em progresso"
|
||||
#~ msgid "Automatically synchronizes project tasks and crm cases."
|
||||
#~ msgstr "Sincroniza automaticamente as tarefas do projecto e os casos de crm."
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico das delegações"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Assistente de composição de email"
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1331,8 +1331,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Histórico de Delegações"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2559,3 +2559,6 @@ msgstr "Tarefas em Progresso"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Assistente de composição de E-mail."
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Histórico de Delegações"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1338,8 +1338,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Istoric Delegatii"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2286,3 +2286,6 @@ msgstr "Sarcini in desfasurare"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Asistent compunere e-mail"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Istoric Delegatii"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-15 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15944)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1330,8 +1330,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "История Делегирования"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2387,5 +2387,8 @@ msgstr "Задания в работе"
|
||||
#~ msgid "project.installer"
|
||||
#~ msgstr "project.installer"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "История Делегирования"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "Мастер создания электронной почты"
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1275,7 +1275,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1326,8 +1326,8 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "Delegeringshistorik"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2349,6 +2349,9 @@ msgstr "Pågående aktiviteter"
|
||||
#~ msgid "Planned"
|
||||
#~ msgstr "Planned"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "Delegeringshistorik"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "E-post editor"
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1275,7 +1275,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1283,7 +1283,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1275,7 +1275,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1276,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1286,8 +1286,8 @@ msgstr "计算公式为:项目经理估算的时间和实际花费的时间的
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgstr "委派历史"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: model:ir.model,name:project.model_res_users
|
||||
@@ -2444,3 +2444,6 @@ msgstr "进行中的任务"
|
||||
|
||||
#~ msgid "E-mail composition wizard"
|
||||
#~ msgstr "邮件合并向导"
|
||||
|
||||
#~ msgid "Delegations History"
|
||||
#~ msgstr "委派历史"
|
||||
|
||||
@@ -13,8 +13,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-08-28 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 15864)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
@@ -1279,7 +1279,7 @@ msgstr ""
|
||||
|
||||
#. module: project
|
||||
#: view:project.task:0
|
||||
msgid "Delegations History"
|
||||
msgid "Delegation"
|
||||
msgstr ""
|
||||
|
||||
#. module: project
|
||||
|
||||
+36
-24
@@ -318,21 +318,26 @@ class purchase_order(osv.osv):
|
||||
for po in self.browse(cr, uid, ids, context=context):
|
||||
pick_ids += [picking.id for picking in po.picking_ids]
|
||||
|
||||
res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_in_form')
|
||||
res_id = res and res[1] or False
|
||||
|
||||
return {
|
||||
'name': _('Receptions'),
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'view_id': [res_id],
|
||||
'res_model': 'stock.picking',
|
||||
'context': "{'contact_display': 'partner'}",
|
||||
'type': 'ir.actions.act_window',
|
||||
'nodestroy': True,
|
||||
'target': 'current',
|
||||
'res_id': pick_ids and pick_ids[0] or False,
|
||||
}
|
||||
action_model, action_id = tuple(mod_obj.get_object_reference(cr, uid, 'stock', 'action_picking_tree4'))
|
||||
action = self.pool.get(action_model).read(cr, uid, action_id, context=context)
|
||||
ctx = eval(action['context'])
|
||||
ctx.update({
|
||||
'search_default_purchase_id': ids[0]
|
||||
})
|
||||
if pick_ids and len(pick_ids) == 1:
|
||||
form_view_ids = [view_id for view_id, view in action['views'] if view == 'form']
|
||||
view_id = form_view_ids and form_view_ids[0] or False
|
||||
action.update({
|
||||
'views': [],
|
||||
'view_mode': 'form',
|
||||
'view_id': view_id,
|
||||
'res_id': pick_ids[0]
|
||||
})
|
||||
|
||||
action.update({
|
||||
'context': ctx,
|
||||
})
|
||||
return action
|
||||
|
||||
def wkf_approve_order(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'state': 'approved', 'date_approve': fields.date.context_today(self,cr,uid,context=context)})
|
||||
@@ -863,6 +868,12 @@ class purchase_order_line(osv.osv):
|
||||
supplier_delay = int(supplier_info.delay) if supplier_info else 0
|
||||
return datetime.strptime(date_order_str, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(days=supplier_delay)
|
||||
|
||||
def _check_product_uom_group(self, cr, uid, context=None):
|
||||
group_uom = self.pool.get('ir.model.data').get_object(cr, uid, 'product', 'group_uom')
|
||||
res = [user for user in group_uom.users if user.id == uid]
|
||||
return len(res) and True or False
|
||||
|
||||
|
||||
def onchange_product_id(self, cr, uid, ids, pricelist_id, product_id, qty, uom_id,
|
||||
partner_id, date_order=False, fiscal_position_id=False, date_planned=False,
|
||||
name=False, price_unit=False, context=None):
|
||||
@@ -908,7 +919,8 @@ class purchase_order_line(osv.osv):
|
||||
uom_id = product_uom_po_id
|
||||
|
||||
if product.uom_id.category_id.id != product_uom.browse(cr, uid, uom_id, context=context).category_id.id:
|
||||
res['warning'] = {'title': _('Warning!'), 'message': _('Selected Unit of Measure does not belong to the same category as the product Unit of Measure.')}
|
||||
if self._check_product_uom_group(cr, uid, context=context):
|
||||
res['warning'] = {'title': _('Warning!'), 'message': _('Selected Unit of Measure does not belong to the same category as the product Unit of Measure.')}
|
||||
uom_id = product_uom_po_id
|
||||
|
||||
res['value'].update({'product_uom': uom_id})
|
||||
@@ -1083,15 +1095,15 @@ class procurement_order(osv.osv):
|
||||
|
||||
procurement_order()
|
||||
|
||||
class mail_message(osv.osv):
|
||||
_name = 'mail.message'
|
||||
_inherit = 'mail.message'
|
||||
class mail_mail(osv.osv):
|
||||
_name = 'mail.mail'
|
||||
_inherit = 'mail.mail'
|
||||
|
||||
def _postprocess_sent_message(self, cr, uid, message, context=None):
|
||||
if message.model == 'purchase.order':
|
||||
def _postprocess_sent_message(self, cr, uid, mail, context=None):
|
||||
if mail.model == 'purchase.order':
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'purchase.order', message.res_id, 'send_rfq', cr)
|
||||
return super(mail_message, self)._postprocess_sent_message(cr, uid, message=message, context=context)
|
||||
wf_service.trg_validate(uid, 'purchase.order', mail.res_id, 'send_rfq', cr)
|
||||
return super(mail_mail, self)._postprocess_sent_message(cr, uid, mail=mail, context=context)
|
||||
|
||||
mail_message()
|
||||
mail_mail()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -14,19 +14,40 @@
|
||||
<menuitem id="menu_purchase_config_purchase" name="Configuration"
|
||||
groups="group_purchase_manager"
|
||||
parent="base.menu_purchase_root" sequence="100"/>
|
||||
<menuitem
|
||||
action="product.product_pricelist_action_for_purchase" id="menu_product_pricelist_action2_purchase"
|
||||
parent="menu_purchase_config_purchase" sequence="10" groups="product.group_purchase_pricelist" />
|
||||
|
||||
<record id="purchase_pricelist_version_action" model="ir.actions.act_window">
|
||||
<field name="name">Pricelist Versions</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">product.pricelist.version</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="product.product_pricelist_version_tree_view"/>
|
||||
<field name="domain">[('pricelist_id.type','=','purchase')]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to add a pricelist version.
|
||||
</p><p>
|
||||
There can be more than one version of a pricelist, each of
|
||||
these must be valid during a certain period of time. Some
|
||||
examples of versions: Main Prices, 2010, 2011, Summer Sales,
|
||||
etc.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_purchase_config_pricelist" name="Pricelists"
|
||||
parent="menu_purchase_config_purchase" sequence="50" groups="product.group_purchase_pricelist"/>
|
||||
|
||||
<menuitem
|
||||
action="product.product_pricelist_action" id="menu_product_pricelist_action_purhase"
|
||||
parent="menu_purchase_config_pricelist" sequence="20" groups="base.group_no_one"/>
|
||||
action="purchase_pricelist_version_action" id="menu_purchase_pricelist_version_action"
|
||||
parent="menu_purchase_config_pricelist" sequence="2" groups="product.group_purchase_pricelist"/>
|
||||
|
||||
|
||||
<menuitem
|
||||
action="product.product_pricelist_action_for_purchase" id="menu_product_pricelist_action2_purchase"
|
||||
parent="menu_purchase_config_pricelist" sequence="10" />
|
||||
|
||||
action="product.product_price_type_action" id="menu_product_pricelist_action2_purchase_type"
|
||||
parent="menu_purchase_config_pricelist" sequence="60" />
|
||||
<menuitem
|
||||
id="menu_product_in_config_purchase" name="Products"
|
||||
parent="menu_purchase_config_purchase" sequence="30" groups="base.group_no_one"/>
|
||||
@@ -188,7 +209,7 @@
|
||||
<button name="view_picking" string="Receive Products" type="object" attrs="{'invisible': ['|', ('shipped','=',True), ('state','!=', 'approved')]}" class="oe_highlight"/>
|
||||
<button name="action_cancel_draft" states="cancel,sent,confirmed" string="Set to Draft" type="object" />
|
||||
<button name="purchase_cancel" states="draft,confirmed,sent" string="Cancel"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,approved,done" statusbar_colors='{"except_picking":"red","except_invoice":"red","confirmed":"blue"}' readonly="1"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,sent,approved,done" statusbar_colors='{"except_picking":"red","except_invoice":"red","confirmed":"blue"}' readonly="1"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
@@ -346,7 +367,7 @@
|
||||
<field name="name">Quotations</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">purchase.order</field>
|
||||
<field name="context">{'search_default_draft': 1}</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="domain">[('state','in',('draft','sent','confirmed'))]</field>
|
||||
<field name="view_mode">tree,form,graph,calendar</field>
|
||||
<field name="search_view_id" ref="view_purchase_order_filter"/>
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
<record id="trans_router_invoice_no_order" model="workflow.transition">
|
||||
<field name="act_from" ref="act_router"/>
|
||||
<field name="act_to" ref="act_invoice_end"/>
|
||||
<field name="condition">invoice_method<>'order'</field>
|
||||
<field name="condition">invoice_method<>'order' and invoiced</field>
|
||||
</record>
|
||||
<record id="trans_except_picking_picking_done" model="workflow.transition">
|
||||
<field name="act_from" ref="act_except_picking"/>
|
||||
|
||||
@@ -46,10 +46,6 @@ class purchase_config_settings(osv.osv_memory):
|
||||
'group_purchase_delivery_address': fields.boolean("Allow a different address for incoming products and invoicings",
|
||||
implied_group='purchase.group_delivery_invoice_address',
|
||||
help="Allows you to specify different delivery and invoice addresses on a purchase order."),
|
||||
'module_purchase_analytic_plans': fields.boolean('Allow using multiple analytic accounts on the same order',
|
||||
help ="""Allows the user to maintain several analysis plans. These let you split
|
||||
lines on a purchase order between several accounts and analytic plans.
|
||||
This installs the module purchase_analytic_plans."""),
|
||||
'module_warning': fields.boolean("Alerts by products or supplier",
|
||||
help="""Allow to configure warnings on products and trigger them when a user wants to purchase a given product or a given supplier.
|
||||
Example: Product: this product is deprecated, do not purchase more than 5.
|
||||
@@ -62,6 +58,12 @@ class purchase_config_settings(osv.osv_memory):
|
||||
help="""Purchase Requisitions are used when you want to request quotations from several suppliers for a given set of products.
|
||||
You can configure per product if you directly do a Request for Quotation
|
||||
to one supplier or if you want a purchase requisition to negotiate with several suppliers."""),
|
||||
'module_purchase_analytic_plans': fields.boolean('Use multiple analytic accounts on purchase orders',
|
||||
help ="""Allows the user to maintain several analysis plans. These let you split lines on a purchase order between several accounts and analytic plans.
|
||||
This installs the module purchase_analytic_plans."""),
|
||||
'group_analytic_account_for_purchases': fields.boolean('Analytic accounting for purchases',
|
||||
implied_group='purchase.group_analytic_accounting',
|
||||
help="Allows you to specify an analytic account on purchase orders."),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
@@ -75,7 +77,8 @@ class account_config_settings(osv.osv_memory):
|
||||
_inherit = 'account.config.settings'
|
||||
_columns = {
|
||||
'module_purchase_analytic_plans': fields.boolean('Use multiple analytic accounts on orders',
|
||||
help="""This allows install module purchase_analytic_plans."""),
|
||||
help ="""Allows the user to maintain several analysis plans. These let you split lines on a purchase order between several accounts and analytic plans.
|
||||
This installs the module purchase_analytic_plans."""),
|
||||
'group_analytic_account_for_purchases': fields.boolean('Analytic accounting for purchases',
|
||||
implied_group='purchase.group_analytic_accounting',
|
||||
help="Allows you to specify an analytic account on purchase orders."),
|
||||
|
||||
@@ -74,6 +74,10 @@
|
||||
<field name="module_purchase_analytic_plans" class="oe_inline"/>
|
||||
<label for="module_purchase_analytic_plans"/>
|
||||
</div>
|
||||
<div>
|
||||
<field name="group_analytic_account_for_purchases" class="oe_inline"/>
|
||||
<label for="group_analytic_account_for_purchases"/>
|
||||
</div>
|
||||
</div>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -11,16 +11,6 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="stock_picking_inherit_purchase" model="ir.ui.view">
|
||||
<field name="name">Picking list</field>
|
||||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="auto_picking" position="after">
|
||||
<field name="purchase_id" invisible="1"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="stock_picking_in_inherit_purchase" model="ir.ui.view">
|
||||
<field name="name">Incoming Picking Inherited</field>
|
||||
@@ -36,63 +26,18 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Picking to Invoice -->
|
||||
<record id="view_picking_in_search_picking_to_invoice" model="ir.ui.view">
|
||||
<field name="name">stock.picking.in.search</field>
|
||||
<record id="view_picking_in_search_picking_inherit" model="ir.ui.view">
|
||||
<field name="name">stock.picking.in.search.inherit</field>
|
||||
<field name="model">stock.picking.in</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_in_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Picking to Invoice">
|
||||
<field name="name" string="Picking to Invoice" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
|
||||
<filter icon="terp-check" name="available" string="Available" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
|
||||
<filter icon="terp-dialog-close" name="done" string="Received" domain="[('state','=','done')]" help="Incoming Shipments already Received"/>
|
||||
<separator/>
|
||||
<filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
|
||||
<separator/>
|
||||
<filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
|
||||
<field name="stock_journal_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="purchase_id" />
|
||||
<group expand="0" string="Group By..." colspan="4" col="8">
|
||||
<filter icon="terp-stock_effects-object-colorize" name="Status" string="Status" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
|
||||
<filter string="Scheduled Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
|
||||
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
<xpath expr="//field[@name='product_id']" position="before">
|
||||
<field name="purchase_id"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="act_purchase_order_2_stock_picking" model="ir.actions.act_window">
|
||||
<field name="name">Incoming Shipments</field>
|
||||
<field name="res_model">stock.picking.in</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name="domain">[('type','=','in')]</field>
|
||||
<field name="context">{'search_default_purchase_id': active_id,'default_type': 'in'}</field>
|
||||
<field name="search_view_id" ref="view_picking_in_search_picking_to_invoice"/>
|
||||
</record>
|
||||
|
||||
<record id="act_purchase_order_2_stock_picking_tree" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="stock.view_picking_in_tree"/>
|
||||
<field name="act_window_id" ref="act_purchase_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<record id="act_purchase_order_2_stock_picking_form" model="ir.actions.act_window.view">
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="stock.view_picking_in_form"/>
|
||||
<field name="act_window_id" ref="act_purchase_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<record id="act_purchase_order_2_stock_picking_calendar" model="ir.actions.act_window.view">
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="view_mode">calendar</field>
|
||||
<field name="view_id" ref="stock.stock_picking_in_calendar"/>
|
||||
<field name="act_window_id" ref="act_purchase_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<!-- is it need ? we have another method "Receive Products"-->
|
||||
<record id="purchase_order_2_stock_picking" model="ir.ui.view">
|
||||
<field name="name">Purchase Picking Inherited</field>
|
||||
<field name="model">purchase.order</field>
|
||||
@@ -100,8 +45,8 @@
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[contains(@class, 'oe_title')]" position="before">
|
||||
<div class="oe_right oe_button_box" name="buttons">
|
||||
<button type="action"
|
||||
name="%(act_purchase_order_2_stock_picking)d"
|
||||
<button type="object"
|
||||
name="view_picking"
|
||||
string="Incoming Shipments" states="approved"/>
|
||||
</div>
|
||||
</xpath>
|
||||
@@ -110,13 +55,13 @@
|
||||
|
||||
<record id="action_picking_tree4_picking_to_invoice" model="ir.actions.act_window">
|
||||
<field name="name">On Incoming Shipments</field>
|
||||
<field name="res_model">stock.picking</field>
|
||||
<field name="res_model">stock.picking.in</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,calendar</field>
|
||||
<field name="domain">[('type','=','in')]</field>
|
||||
<field name="context">{"default_type": "in", "contact_display": "partner_address", "search_default_done": 1, "search_default_to_invoice": 1}</field>
|
||||
<field name="search_view_id" ref="view_picking_in_search_picking_to_invoice"/>
|
||||
<field name="search_view_id" ref="stock.view_picking_in_search"/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
Here you can track all the product receptions of purchase
|
||||
|
||||
+10
-10
@@ -613,7 +613,8 @@ class sale_order(osv.osv):
|
||||
'default_res_id': ids[0],
|
||||
'default_use_template': True,
|
||||
'default_template_id': template_id,
|
||||
})
|
||||
'mark_so_as_sent': True
|
||||
})
|
||||
return {
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
@@ -987,15 +988,14 @@ class sale_order_line(osv.osv):
|
||||
|
||||
sale_order_line()
|
||||
|
||||
class mail_message(osv.osv):
|
||||
_inherit = 'mail.message'
|
||||
|
||||
def _postprocess_sent_message(self, cr, uid, message, context=None):
|
||||
if message.model == 'sale.order':
|
||||
class mail_compose_message(osv.osv):
|
||||
_inherit = 'mail.compose.message'
|
||||
def send_mail(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
if context.get('mark_so_as_sent', False) and context.get('default_res_id', False):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'sale.order', message.res_id, 'quotation_sent', cr)
|
||||
return super(mail_message, self)._postprocess_sent_message(cr, uid, message=message, context=context)
|
||||
|
||||
mail_message()
|
||||
wf_service.trg_validate(uid, 'sale.order', context.get('default_res_id', False), 'quotation_sent', cr)
|
||||
return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
|
||||
mail_compose_message()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
|
||||
"PO-Revision-Date: 2012-09-10 11:41+0000\n"
|
||||
"PO-Revision-Date: 2012-09-20 14:52+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-11 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 15924)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: stock
|
||||
#: field:product.product,track_outgoing:0
|
||||
@@ -910,7 +910,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:stock.action_picking_tree4
|
||||
#: model:ir.ui.menu,name:stock.menu_action_picking_tree4 view:stock.picking:0
|
||||
msgid "Incoming Shipments"
|
||||
msgstr "Поступающие грузы"
|
||||
msgstr "Поступающие ТМЦ"
|
||||
|
||||
#. module: stock
|
||||
#: view:report.stock.inventory:0 view:stock.move:0 view:stock.picking:0
|
||||
|
||||
@@ -673,6 +673,13 @@ class stock_picking(osv.osv):
|
||||
]
|
||||
|
||||
def action_process(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
context.update({
|
||||
'active_model': self._name,
|
||||
'active_ids': ids,
|
||||
'active_id': len(ids) and ids[0] or False
|
||||
})
|
||||
return {
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
|
||||
@@ -107,21 +107,10 @@ class stock_partial_picking(osv.osv_memory):
|
||||
picking_ids = context.get('active_ids', [])
|
||||
active_model = context.get('active_model')
|
||||
|
||||
if active_model == 'purchase.order':
|
||||
for purchase_order in self.pool.get('purchase.order').browse(cr, uid, picking_ids, context=context):
|
||||
picking_ids = [picking_id.id for picking_id in purchase_order.picking_ids]
|
||||
elif active_model == 'sale.order':
|
||||
for sale_order in self.pool.get('sale.order').browse(cr, uid, picking_ids, context=context):
|
||||
picking_ids = [picking.id for picking in sale_order.picking_ids]
|
||||
|
||||
if not picking_ids or len(picking_ids) != 1:
|
||||
# Partial Picking Processing may only be done for one picking at a time
|
||||
return res
|
||||
# The check about active_model is there in case the client mismatched the context during propagation of it
|
||||
# (already seen in previous bug where context passed was containing ir.ui.menu as active_model and the menu
|
||||
# ID as active_id). Though this should be fixed in clients now, this place is sensitive enough to ensure the
|
||||
# consistancy of the context.
|
||||
assert active_model in ('stock.picking', 'stock.picking.in', 'stock.picking.out', 'purchase.order', 'sale.order'), 'Bad context propagation'
|
||||
assert active_model in ('stock.picking', 'stock.picking.in', 'stock.picking.out'), 'Bad context propagation'
|
||||
picking_id, = picking_ids
|
||||
if 'picking_id' in fields:
|
||||
res.update(picking_id=picking_id)
|
||||
|
||||
Reference in New Issue
Block a user