Skip to content

Instantly share code, notes, and snippets.

View ray-odoo's full-sized avatar
💭
Spreading purple around the world!

Ray Carnes ray-odoo

💭
Spreading purple around the world!
View GitHub Profile
@ray-odoo
ray-odoo / gist:cef23d6fee6e2e819250fa19ac289c2d
Last active September 23, 2018 17:46
Upgrade SAAS to Enterprise (July 2015)
1. Take a backup of the SAAS database. (You must be logged into odoo.com as the Administrator of the database).
2. Perform the following PSQL:
update ir_module_module set state = 'to remove' where name = 'saas_trial';
insert into base_config_settings(auth_signup_reset_password) values(true);
update res_partner set signup_type='reset', signup_token='rsvabcdefghijykalklk', signup_expiration=to_timestamp('20200411','YYYYMMDD') where id=(select partner_id from res_users where id=1);
ALT:
@ray-odoo
ray-odoo / gist:bd97d69b3e308d10f531c8392b71f7d6
Last active September 28, 2018 17:12
Large database backup and restore process
OUT:
pg_dump production --no-owner --format=c --file=production.sql
FILESTORE:
tar -czvf /home/ubuntu/production.tar.gz production
IN:
@ray-odoo
ray-odoo / gist:b0b474d2246d662c9207ac2294f63833
Created December 7, 2018 18:54
KILL PostgreSQL connections preventing an Odoo database from being deleted (without restarting PostgreSQL)
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'database_name';
TURN OFF:
update ir_mail_server set active = 'f';
update fetchmail_server set active = 'f';
update ir_cron set active = 'f' where function = 'schedule_backup';
TURN ON:
update ir_mail_server set active = 't';
update fetchmail_server set active = 't';
update ir_cron set active = 't' where function = 'schedule_backup';
Phone
Hotel
Internet
Meals - Client
Meals - Employee
Shipping
Supplies
Travel Insurance
Airfare
Baggage
delete from crm_lead;
delete from purchase_order_line;
delete from purchase_order;
delete from sale_order_line;
delete from sale_order;
delete from procurement_order;
delete from procurement_group;
<filter string="This Month" name="this_month" domain="['&amp;', ('date', '&gt;=', context_today().strftime('%Y-%m-01')),
('date', '&lt;', (context_today() + relativedelta(months=1)).strftime('%Y-%m-01'))]"/>
<filter string="Last Month" name="last_month1" domain="['&amp;', ('date', '&gt;=', (context_today() - relativedelta(months=1)).strftime('%Y-%m-01')),
('date', '&lt;', (context_today() - relativedelta(months=0)).strftime('%Y-%m-01'))]"/>
<filter string="2 Months Ago" name="last_month2" domain="['&amp;', ('date', '&gt;=', (context_today() - relativedelta(months=2)).strftime('%Y-%m-01')),
('date', '&lt;', (context_today() - relativedelta(months=1)).strftime('%Y-%m-01'))]"/>
<filter string="3 Months Ago" name="last_month3" domain="['&amp;', ('date', '&gt;=', (context_today() - relativedelta(months=3)).strftime('%Y-%m-01')),
quants = env['stock.quant'].search([])
move_line_ids = []
warning = ''
for quant in quants:
move_lines = env["stock.move.line"].search([
('product_id', '=', quant.product_id.id),
('location_id', '=', quant.location_id.id),
('lot_id', '=', quant.lot_id.id),
('package_id', '=', quant.package_id.id),
# only tested with the speficic import file with the following schema:
# Internal ID,ID,Name,Asset Type,Asset Original Cost,Asset Current Cost,Serial Number,Quantity,Date Created,Purchase Date,Depreciation Start Date,Current Net Book Value,Cumulative Depreciation
import xlrd
import xmlrpc.client
import requests
import base64
import datetime
# Available variables:
# - env: Odoo Environment on which the action is triggered
# - model: Odoo Model of the record on which the action is triggered; is a void recordset
# - record: record on which the action is triggered; may be void
# - records: recordset of all records on which the action is triggered in multi-mode; may be void
# - time, datetime, dateutil, timezone: useful Python libraries
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
# - Warning: Warning Exception to use with raise
# To return an action, assign: action = {...}