Codes


bench --site www.site.com uninstall-app meeting

BackUp
bench backup –with-files
bench –site backup –with-files

bench backup

bench backup-all-sites
bench –site [sitename] uninstall-app [app]

root@erp:/home/frappe/frappe-bench# bench –site xx.aaa.com –force restore 20171005_004314_883fdeba_database.sql
bench –site aa.site.com –force restore sites/aaaaa/private/backups/20180402_010035_29d7966e_database.sql

root@erp:/home/frappe/frappe-bench/apps# cd ..
root@erp:/home/frappe/frappe-bench# bench –help | grep uninstall
uninstall-app Remove app and linked modules from site
root@erp:/home/frappe/frappe-bench#
root@erp:/home/frappe/frappe-bench# bench –help | grep remove
remove-app completely remove app from bench
remove-from-installed-apps Remove app from site’s installed-apps list

 

 

 

Event Name Description
setup Triggered once when the form is created for the first time
before_load Triggered before the form is about to load
onload Triggered when the form is loaded and is about to render
refresh Triggered when the form is loaded and rendered.
onload_post_render Triggered after the form is loaded and rendered
validate Triggered before before_save
before_save Triggered before save is called
after_save Triggered after form is saved
before_submit Triggered before submit is called
on_submit Triggered after form is submitted
before_cancel Triggered before cancel is called
after_cancel Triggered after form is cancelled
timeline_refresh Triggered after form timeline is rendered
{fieldname}_on_form_rendered Triggered when a row is opened as a form in a Table field
{fieldname} Triggered when the value of fieldname is changed

https://frappeframework.com/docs/user/en/api/form

More on this at:

https://github.com/frappe/frappe/wiki/Developer-Cheatsheet#1-to-add-a-new-handler-on-value-change

http://pcbbc.site.mobi/templates/mobile/facade_transcoder_iframe.php?u=%2Ffrappe%2Ffrappe%2Fwiki%2FClient-Side-Scripting-Index%3Fimz_s%3Dqc84i7nnq3l78t0hqno42b7rk6&lang=en

https://wiki.erpnext.org/display/ENG/Add+a+Custom+Button

 

 

 

Call api to get values of another doc type from a given doctype

frappe.ui.form.on(“Document Record”, {
onload_post_render: function(frm) {

// This function is run right after a Sales Invoice is rendered and loaded

cur_frm.set_value(“document_by”,user);
if(user ==”Administrator”){alert(“FKNote: No details for the sender was fetched since there is no employee for Administrator, the system will now show you an error … in order for details to be fetched an account has to be created”)}

var container;
frappe.call({
‘method’: ‘frappe.client.get’,
‘args’: {
‘doctype’: ‘Purchase Order’,
‘fieldname’: ‘title’,
‘filters’: { ‘owner’: user, ‘name’:”PO-04565″}
}
,
callback: function(r){
// msgprint(r.message.salutation);
console.log(r)
container = r.message.company +”\n”+r.message.salutation +”. “+r.message.employee_name +”\n”+r.message.designation +”\n”+ r.message.company_email+”\n”+ r.message.cell_number
cur_frm.set_value(“sender_details”,container);

cur_frm.set_value(fieldname, r.message);

}

});

// https://github.com/frappe/frappe/wiki/Developer-Cheatsheet

// This listener is added to the customer field, listening for a keypress event
// cur_frm.fields_dict.customer.$input.on(“keypress”, function(evt){
// Code specified here will run when a key is pressed on the customer field.
// });

}
});

//var x = document.getElementsByClassName(“ellipsis title-text”);
//var bb = x[0].innerHTML;
//alert(bb)

//if( ! bb.indexOf(“Document”) !== -1){}else{
//cur_frm.set_value(“document_ref_test”, x[0].innerHTML );
//}

//var ss = document.getElementsByClassName(“control-input”);
//ss[0].innerHTML = bb;

//https://pcbbc.site.mobi/templates/mobile/facade_transcoder_iframe.php?u=%2Ffrappe%2Ffrappe%2Fwiki%2FClient-Side-Scripting-Index%3Fimz_s%3Dqc84i7nnq3l78t0hqno42b7rk6&lang=en

Create New Site

Assuming that you’ve already got your first site running and you’ve performed the production deployment steps, this section explains how to host your second site (and more). Your first site is automatically set as default site. You can change it with the command,

bench use sitename

Port based multitenancy

You can create a new site and make run it on a different port (while the first one runs on port 80).

  • Create a new site

    bench new-site site2name

  • Set port

    bench set-nginx-port site2name 82

  • Re generate nginx config

    bench setup nginx

  • Reload nginx

    sudo service nginx reload

DNS based multitenancy

You can name your sites as the hostnames that would resolve to it. Thus, all the sites you add to the bench would run on the same port and will be automatically selected based on the hostname.

DNS based multitenancy mode is disabled by default, you can switch it on / off using the command,

bench config dns_multitenant on

To make a new site under DNS based multitenancy, perform the following steps.

  • Create a new site

    bench new-site site2name

  • Re generate nginx config

    bench setup nginx

  • Reload nginx

    sudo service nginx reload

Note : For “DNS based multitenancy”, currentsite.txt in frappe-bench/sites/ should be empty.

 

Source: https://github.com/frappe/bench/wiki/Multitenant-Setup

Resources

https://frappe.io/docs/user/en/bench/resources/bench-commands-cheatsheet

https://github.com/frappe/bench/wiki/Quick-Reference-Guide

https://github.com/frappe/bench/wiki/Quick-Reference-Guide

https://frappe.io/docs/user/en/bench/resources

 

 

 

Back Up SIte with all files: bench –site all backup –with-files

 

 

Show current tasks of Ubuntu:  netstat -punta |grep nginx |wc -l

 

MYSQL:

mysql -u root -p

 

 

Database:

select * from `tabPayment Entry` where base_total_allocated_amount=24;

 

Frappe and site:

bench version, gives you the verison of the bench and frappe and erpnext etc

bench drop-site [sitename] This will remove the site folder and the database as well.

 

Install cusjtom frappe apps by fra:    bench get-app meeting https://github.com/frappe/meeting

 

 

https://frappe.io/docs/user/en/bench/resources

 

Cache

  1. bench clear-cache
  2. bench clear-website-cache …You can run these from your frappe-bench folder.

 

 

How to manage processes from the Ubuntu Linux terminal

The ps command is a traditional Ubuntu Linux command to lists running processes. The following command shows all processes running on your system:
{vivek@ubuntu-box:~}$ ps -aux
{vivek@ubuntu-box:~}$ sudo ps -a
{vivek@ubuntu-box:~}$ sudo ps -U vivek
{vivek@ubuntu-box:~}$ ps -U tom

 

https://www.cyberciti.biz/faq/how-to-check-running-process-in-ubuntu-linux-using-command-line/