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中给字段填加唯一性约束等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)