@@ -17,7 +17,7 @@
|
||||
</separator>
|
||||
<xpath expr="//label[@string='description']"
|
||||
position="attributes">
|
||||
<attribute name="string">You can enhance OpenERP's basic accounting support with a few additional OpenERP applications. Select one of the country specific chart of account or select 'configurable chart of account' to configure your own chart of account.</attribute>
|
||||
<attribute name="string">You can enhance OpenERP's basic accounting support with a few additional OpenERP applications.</attribute>
|
||||
<attribute name="width">150</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//button[@string='Install Modules']" position="attributes">
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
If you don't think you need any of these right now, you can easily install them later on.</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>15</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
<separator string="title" position="attributes">
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<attribute name='string'>Configure Your Company</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>25</attribute>
|
||||
<attribute name='rowspan'>23</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
<group string="res_config_contents" position="replace">
|
||||
|
||||
@@ -23,6 +23,7 @@ from operator import itemgetter
|
||||
from osv import osv, fields
|
||||
import netsvc
|
||||
import tools
|
||||
from tools import misc
|
||||
|
||||
class base_gtkcontactform(osv.osv_memory):
|
||||
"""
|
||||
@@ -68,8 +69,30 @@ class base_gtkcontactform(osv.osv_memory):
|
||||
'other':fields.boolean('Other'),
|
||||
'ebook':fields.boolean('ebook'),
|
||||
'updates':fields.boolean('updates'),
|
||||
'note':fields.text('Note'),
|
||||
}
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
pass
|
||||
company_id = self.pool.get('base.setup.company').search(cr, uid, [])
|
||||
company_data = self.pool.get('base.setup.company').read(cr, uid, company_id)[0]
|
||||
country1 = ''
|
||||
if company_data.get('country_id', False):
|
||||
country = self.pool.get('res.country').read(cr, uid, company_data['country_id'],['name'])['name']
|
||||
for res in self.read(cr, uid, ids):
|
||||
email = res.get('email','')
|
||||
result = "\ncompany: "+ str(company_data.get('name',''))
|
||||
result += "\nname: " + str(res.get('name',''))
|
||||
result += "\nphone: " + str(res.get('phone',''))
|
||||
result += "\ncity: " + str(company_data.get('city',''))
|
||||
result += "\ncountry: " + str(country)
|
||||
result += "\nindustry: " + str(res.get('industry', ''))
|
||||
result += "\ntotal_employees: " + str(res.get('total_employees', ''))
|
||||
result += "\nplan_use: " + str(res.get('use_openerp', False))
|
||||
result += "\nsell_openerp: " + str(res.get('sell_openerp', False))
|
||||
result += "\nebook: " + str(res.get('ebook',False))
|
||||
result += "\nnote: " + str(res.get('note',''))
|
||||
result += "\ngtk: " + str(True)
|
||||
misc.upload_data(email, result, type='SURVEY')
|
||||
|
||||
|
||||
|
||||
base_gtkcontactform()
|
||||
@@ -18,7 +18,7 @@
|
||||
<attribute name='colspan'>4</attribute>
|
||||
</xpath>
|
||||
<xpath expr='//separator[@string="vsep"]' position='attributes'>
|
||||
<attribute name='rowspan'>22</attribute>
|
||||
<attribute name='rowspan'>27</attribute>
|
||||
<attribute name='string'></attribute>
|
||||
</xpath>
|
||||
<group string="res_config_contents" position="replace">
|
||||
@@ -47,6 +47,8 @@
|
||||
<field name="support" colspan="1"/>
|
||||
<field name="training" colspan="1"/>
|
||||
<field name="other" colspan="1"/>
|
||||
<separator colspan="4" string="Notes"/>
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
<group colspan="2">
|
||||
<separator colspan="4" string="Do You Need Them ?"/>
|
||||
|
||||
@@ -139,6 +139,7 @@ class project(osv.osv):
|
||||
'active': lambda *a: True,
|
||||
'priority': lambda *a: 1,
|
||||
'sequence': lambda *a: 10,
|
||||
'warn_manager': lambda *a: True,
|
||||
}
|
||||
def _check_dates(self, cr, uid, ids):
|
||||
leave = self.read(cr, uid, ids[0],['date_start','date'])
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Project">
|
||||
<group col='15' colspan='4'>
|
||||
<filter icon="terp-project" string="Current" domain="[('state', 'in',('open','draft'))]" help="Open and Draft Projects" default="1"/>
|
||||
<filter icon="terp-project" string="Open" domain="[('state', 'in',('open','draft'))]" help="Open and Draft Projects" default="1"/>
|
||||
<filter icon="terp-project" string="Pending" domain="[('state', '=', 'pending')]" help="Pending Projects"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-project" string="Manager" domain="[('user_id', '=', uid)]" help="Projects in which I am a manager."/>
|
||||
@@ -136,7 +136,7 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="field_parent">child_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Projects">
|
||||
<tree colors="red:date<current_date and state in ('open');blue:state in ('draft','pending');grey: state in ('close','cancelled')" string="Projects">
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="name" string="Project Name"/>
|
||||
<field name="user_id" string="Project Manager"/>
|
||||
@@ -238,7 +238,7 @@
|
||||
<field name="project_id" required="1" select="1" domain="['|',('user_id','=',uid),('members','=',uid)]"/>
|
||||
<field name="total_hours" widget="float_time"/>
|
||||
<field name="date_deadline"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
<field name="progress" widget="progressbar"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
@@ -589,8 +589,8 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Messages">
|
||||
<field name="subject" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="project_id" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -639,5 +639,6 @@
|
||||
|
||||
<act_window domain="[('user_id', '=', active_id),('date', '>=', time.strftime('%Y-%m-01'))]" id="act_res_users_2_project_task_work_month" name="Month works" res_model="project.task.work" src_model="res.users" view_mode="tree,form" view_type="form"/>
|
||||
|
||||
<act_window domain="[('project_id', '=', active_id)]" id="act_project_messages" name="Messages" res_model="project.message" src_model="project.project"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -84,7 +84,7 @@ class report_project_task_user(osv.osv):
|
||||
t.project_id,
|
||||
t.state,
|
||||
t.priority,
|
||||
t.name,
|
||||
t.name as name,
|
||||
t.company_id,
|
||||
t.partner_id,
|
||||
t.type,
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Tasks">
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="name" />
|
||||
<field name="project_id" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="date_deadline" invisible="1"/>
|
||||
@@ -123,6 +123,7 @@
|
||||
<filter string="User" name="User" icon="terp-project" context="{'group_by':'user_id'}" />
|
||||
<filter string="Project" icon="terp-project" context="{'group_by':'project_id'}"/>
|
||||
<filter string="Partner" icon="terp-project" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Task" icon="terp-project" context="{'group_by':'name'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-project" context="{'group_by':'state'}"/>
|
||||
<filter string="Company" icon="terp-project" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
|
||||
@@ -97,7 +97,7 @@ class scrum_sprint(osv.osv):
|
||||
'date_stop': fields.date('Ending Date', required=True),
|
||||
'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)]),
|
||||
'product_owner_id': fields.many2one('res.users', 'Product Owner', required=True),
|
||||
'scrum_master_id': fields.many2one('res.users', 'Scrum Master', required=True),
|
||||
'scrum_master_id': fields.many2one('res.users', 'Scrum Manager', required=True),
|
||||
'meeting_ids': fields.one2many('scrum.meeting', 'sprint_id', 'Daily Scrum'),
|
||||
'review': fields.text('Sprint Review'),
|
||||
'retrospective': fields.text('Sprint Retrospective'),
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<field name="project_id" select="1"/>
|
||||
<field domain="[('project_id','=',project_id)]" name="sprint_id" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="sequence" groups="base.group_extended"/>
|
||||
<field name="date"/>
|
||||
<field name="active" select="1"/>
|
||||
<group colspan="6" col="8">
|
||||
|
||||
Reference in New Issue
Block a user