如何在CentOS 7.0 上安装Odoo 8.0

如何在CentOS 7.0 上安装Odoo 8.0,第1张

1 更新系统组件

sudo apt-get update

sudo apt-get dist-upgrade

2增加OpenERP用户

(如果之前用apt-get 或者deb方式安装过,先删除这个用户重新再创建下 sudo userdel openerp)

(一样的,如果有 /opt/openerp 这个目录 也先删除掉sudo rm -r /opt/openerp)

sudo adduser --system --home=/opt/openerp --group openerp

openerp用户被加入system组,该用户不能够从终端登录。

需要openerp用户 *** 作时,可以用下面的命令切换 sudo su - openerp -s /bin/bash

完成相关 *** 作后可以用exit退出openerp用户shell

3安装并配置数据库

进入postgres用户shell(postgres是数据库默认的管理员,由安装程序创建)

sudo su - postgres

为OE创建数据库用户,按照提示输入用户密码。

createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp

(要删除以前自动安装残留的postgresql 里面的 openerp用户 用dropuser openerp)

退出postgres用户shell

exit

4安装OE的Python依赖包

sudo apt-get install python-dateutil python-docutils python-feedparser python-gdata \

python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid \

python-psycopg2 python-psutil python-pybabel python-pychart python-pydot python-pyparsing \

python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-vobject \

python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-pyPdf

6月6日起 需要 sudo apt-get install python-requests

以及:sudo apt-get install python-passlib

7月9日起

apt-get install python-decorator

3月20日的版本好像报价单也不能打,

需要装 wkhtmltopdf 0120 , gistgithubcom/slickplaid/5557321

不过这方法安装好像很费时,等新版本出来再看看,反正正式要用也等正式版吧,或者用2月26日那个版本。

deb安装就搞定,2月26日之后的版本,好像报表这块改动比较多。

源码安装的,也可以下载了2月26日的版本 停掉服务 替换 openerp 目录。

5安装OE服务器

首先下载OE源码包,这里下载OpenERP80最新开发版本

放开目录权限:

sudo chmod -R 777 /opt/openerp

进入目录:

cd /opt/openerp

下载最新的源码包:

wget ightlyopenerpcom/trunk/nightly/src/openerp-80dev-latesttargz

最新的 odoo源码 应该在 codeloadgithubcom/odoo/odoo/zip/master

把源文件解压到openerp用户家目录下:

sudo tar xvf openerp-80dev-latesttargz

odoo 注意文件名变化 用: unzip master 就好了

把文件的所有者改为openerp用户:

sudo chown -R openerp:

这里建议把服务器组件的安装目录修改为server,以便于后续修改时不必修改配置文件。

在当前目录创建目录,给目录最大权限,移动刚才解压的目录到server 目录:

sudo mkdir server

sudo chmod -R 777 server

sudo mv -T openerp-80dev-20140318-000101 server

(注意这里,目录名"openerp-80dev-20140318-000101"会因为你下载的时间不同而有所不同。

也注意odoo 的目录)

注意,比较推荐用git方式下载,

先apt-get install git

然后

git clone githubcom/odoo/odoogit

git pull 进行差异更新

git checkout 80(切换到80版本)

git checkout 70(切换到70版本)

6配置OpenERP服务

复制OE的默认配置文件到/etc/并修改所有者及权限:

sudo cp /opt/openerp/server/install/openerp-serverconf /etc/

sudo chown openerp: /etc/openerp-serverconf

sudo chmod 640 /etc/openerp-serverconf

修改配置文件:

sudo vi /etc/openerp-serverconf

这里需要修改数据库用户的密码,为第四步时设定的密码(这里用password做参考值),并增加日志文件的路径:

[options]

; This is the password that allows database operations:

; admin_passwd = admin

db_host = 127001

db_port = 5432

db_user = openerp

db_password = password

logfile = /var/log/openerp/openerp-serverlog

addons_path = /opt/openerp/server/addons

说明:Odoo8 的 addons 目录变位置了,加一句

使用openerp用户shell登录,验证openerp是否已正确安装:

sudo su - openerp -s /bin/bash

/opt/openerp/server/openerp-server

最后一行显示 openerpserviceserver: >

在进行Odoo二次开发的时候,经常会遇到一些字段要进行唯一性验证,例如学生档案管理系统中学生信息的学号,业务管理系统中的一些业务标识字段。

例如最近在开发一款基于车辆的业务系统,所有业务订单都是基于一辆车辆进行的,为避免不同业务员输入同一车辆的订单,就需要在业务员录入车辆号的时候对车牌号进行唯一性验证,如果系统中已经存在该车辆车牌号则跳出提示,阻止该业务的录入。

如何实现Odoo中这种字段唯一值的约束呢?

首先,我们定义一个普通字段cph,如下:

cph = fieldsChar('车牌号')

接下来,我们在_sql_constraints中添加对应的约束定义,如下:

_sql_constraints = [ ('check_uniq_cph', 'unique(cph)', '车牌号已经存在!')   ]  

括号中三个参数依次是约束定义名、约束定义内容、d出提醒内容。

在_sql_constraints定义中可以填写多个字段的约束定义,每个用()包裹,之间用逗号分隔开即可。

这样,在输入重复的车牌号后点击保存时,系统则跳出下面的提示框,并停止保存动作:

方法如下

instancewebListViewinclude({

load_list: function () {

var self = this;

this_superapply(this, arguments);

var b_length= self__parentedParent$elfind('ok_bn')length;

consolelog(b_length);

//consolelog(self$elfind('ok_bn')length+"++++++++++");//consolelog(self$elfind(rootfind('ok_bn')length));//consolelog(selfgetElementsByTagName_r('ok_bn'));

consolelog(self__parentedParent$elfind('ok_bn')length+"MMMMMMMMMMMMMMMMMMMMMM");

consolelog(self__parentedChildren$el+"NNNNNNNNNNNNNNNNNNNNNN");

consolelog(self$pagerfind('oe_list_pager_single_page')length+"--------------");

consolelog(self$buttons[0]firstChildclassName);

consolelog(selfmodel);

if(b_length ==0 && selfmodel=="respartner"){ //通过获取this中的对象信息进行分析最终确定在那个地方加按钮。

consolelog(self$buttons[0]firstChildclassName!="oe_button ok_bn");

consolelog(+b_length<=0+"ok_bnok_bnok_bnok_bnok_bnok_bnok_bn");

var button = $("服务");

root=self$elparents();

buttonprependTo(rootfind('oe_list_buttons'));

this$buttonson('click', 'ok_bn', function() {

selfdo_action({

type: 'iractionsact_window',

res_model: "productproduct",

res_id: 1,

views: [[false, 'form']],

target: 'current',

context:"",

}, {

on_reverse_breadcrumb: function () {

selfreload();

}

});

});

}

},

});

以上就是关于如何在CentOS 7.0 上安装Odoo 8.0全部的内容,包括:如何在CentOS 7.0 上安装Odoo 8.0、Odoo不能导出Pdf、Odoo中给字段填加唯一性约束等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9432686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存