update misc copyright dates
[xtuple] / enyo-client / database / source / xm / javascript / contact.sql
1 select xt.install_js('XM','Contact','xtuple', $$
2   /* Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple. 
3      See www.xm.ple.com/CPAL for the full text of the software license. */
4   
5   XM.Contact = {};
6
7   XM.Contact.isDispatchable = true,
8   
9   XM.Contact.merge = function(sourceContactId, targetContactId, purge) {
10     var err,
11       sql = "select cntctmerge(src.cntct_id, tgt.cntct_id, $3) AS result " +
12             "from cntct src, cntct tgt " +
13             "where src.cntct_number = $1 " +
14             " and tgt.cntct_number = $2;";
15
16     if (!data.checkPrivilege("MergeContacts")) { 
17       err = "Access denied."
18     } else if (sourceContactId === undefined) {
19       err = "Not defined";
20     } else if (targetContactId === undefined) {
21       err = "Not defined";
22     } else if (purge === undefined) {
23       err = "Not defined";
24     }
25     if(!err) {
26       return plv8.execute(sql, [sourceContactId, targetContactId, purge])[0].result;
27     }
28     throw new Error(err);
29   }
30
31   XM.Contact.restore = function(mergeContactId) {
32     var ret,
33       sql = "select cntctrestore(cntct_id) AS result from cntct where cntct_number = $1;"
34       err,
35       data = Object.create(XT.Data);
36
37     if(!data.checkPrivilege("MergeContacts")) {
38       err = "Access denied."
39      } else if (mergeContactId === undefined) {
40        err = "Not defined";
41      }
42      if(!err) {
43        return plv8.execute(sql, [mergeContactId])[0].result;
44      }
45      throw new Error(err);
46   }
47
48   XM.Contact.used = function(id) {
49     return plv8.execute("select cntctused(cntct_id) AS result from cntct where cntct_number = $1;", [id])[0].result;
50   }
51
52 $$ );
53