summaryrefslogtreecommitdiff
path: root/addons/web_process/static/src
diff options
context:
space:
mode:
authorVaibhav (OpenERP) <vda@tinyerp.com>2011-09-28 14:17:39 +0530
committerVaibhav (OpenERP) <vda@tinyerp.com>2011-09-28 14:17:39 +0530
commit78eb1e13e5a5284854a17cd90d14174b5702be79 (patch)
tree2635e4802df17fefdda59e49ec91a50e3a137c12 /addons/web_process/static/src
parenta7a256454283f4b6a1241abd9df335a23ef16785 (diff)
[FIX] Indentation.Show help.
bzr revid: vda@tinyerp.com-20110928084739-cd0tnajmulohp0k8
Diffstat (limited to 'addons/web_process/static/src')
-rw-r--r--addons/web_process/static/src/js/process.js387
-rw-r--r--addons/web_process/static/src/xml/web_process.xml134
2 files changed, 269 insertions, 252 deletions
diff --git a/addons/web_process/static/src/js/process.js b/addons/web_process/static/src/js/process.js
index 67c62efbcd4..d8d178ae63d 100644
--- a/addons/web_process/static/src/js/process.js
+++ b/addons/web_process/static/src/js/process.js
@@ -1,195 +1,208 @@
-
openerp.web_process = function (openerp) {
-var QWeb = openerp.web.qweb;
-QWeb.add_template('/web_process/static/src/xml/web_process.xml');
- openerp.web.ViewManager.include({
- start: function() {
- this._super();
- var self = this;
-
- this.process_check();
- },
- process_check: function() {
- var self = this,
- grandparent = this.widget_parent && this.widget_parent.widget_parent,
- view = this.views[this.views_src[0].view_type],
- $process_view = this.$element.find('.oe-process-view');
-
- this.process_model = this.model;
- if (!(grandparent instanceof openerp.web.WebClient) ||
+ var QWeb = openerp.web.qweb;
+ QWeb.add_template('/web_process/static/src/xml/web_process.xml');
+ openerp.web.ViewManager.include({
+ start: function() {
+ this._super();
+ var self = this;
+ this.process_check();
+ this.process_help = this.action.help || 'Help: Not Defined';
+ },
+ process_check: function() {
+ var self = this,
+ grandparent = this.widget_parent && this.widget_parent.widget_parent,
+ view = this.views[this.views_src[0].view_type],
+ $process_view = this.$element.find('.oe-process-view');
+
+ this.process_model = this.model;
+ if (!(grandparent instanceof openerp.web.WebClient) ||
!(view.view_type === this.views_src[0].view_type
&& view.view_id === this.views_src[0].view_id)) {
- $process_view.hide();
- return;
+ $process_view.hide();
+ return;
+ }
+ $process_view.click(function() {
+ $.when(self.load_process()).then(self.get_process_id());
+ });
+ },
+
+ process_subflow : function() {
+ var self = this;
+ new openerp.web.DataSetSearch(this,
+ "ir.actions.act_window",this.session.context,[])
+ .read_slice(['help'],
+ { domain:
+ [
+ ['res_model','=',this.process_action_model],
+ ['name','ilike', this.process_action_name]
+ ]
+ },
+ function(res) {
+ if (res.length) {
+ self.process_help = res[0]['help'] || 'Help: Not Defined';
+ }
+ $.when(self.load_process()).then(self.render_process_view());
+
+ });
+ },
+
+ load_process: function() {
+ this.$element.html(QWeb.render("ProcessView", this));
+ },
+
+ get_process_id: function() {
+ var self = this;
+ this.process_dataset = new openerp.web.DataSetStatic(this, "process.process", this.session.context);
+ this.process_dataset.call("search_by_model",
+ [self.process_model,self.session.context],
+ function(res) {self.process_renderer(res)});
+ },
+ process_renderer: function(res) {
+ var self = this;
+ if(!res.length) {
+ this.process_model = false;
+ this.get_process_id();
+ } else {
+ if(res.length > 1) {
+ this.selection = res;
+ $.when(this.load_process()).then(function() {
+ var $parent = self.widget_parent.$element;
+ $parent.find('#change_process').click(function() {
+ self.selection = false;
+ self.p_id = $parent.find('#select_process').val();
+ $.when(self.load_process()).then(self.render_process_view());
+ });
+ });
+ } else {
+ this.p_id = res[0][0];
+ $.when(this.load_process()).then(this.render_process_view());
+ }
}
- $process_view.click(function() {
- $.when(self.load_process()).then(self.get_process_id());
- });
- },
-
- load_process: function() {
- this.$element.html(QWeb.render("ProcessView",this));
- },
-
- get_process_id: function() {
- var self = this;
- this.process_dataset = new openerp.web.DataSetStatic(this, "process.process", this.session.context);
- this.process_dataset
- .call(
- "search_by_model",
- [self.process_model,self.session.context],
- function(res) {self.process_renderer(res)}
- );
- },
-
- process_renderer: function(res) {
- var self = this;
- if(!res.length) {
- this.process_model = false;
- this.get_process_id();
- } else {
- if(res.length > 1) {
- this.selection = res;
- $.when(this.load_process())
- .then(function(){
- var $parent = self.widget_parent.$element;
- $parent.find('#change_process').click(function() {
- self.selection = false;
- self.p_id = $parent.find('#select_process').val();
- $.when(self.load_process()).then(self.render_process_view());
- });
- });
- } else {
- this.p_id = res[0][0];
- $.when(this.load_process()).then(this.render_process_view());
- }
- }
- },
- render_process_view: function() {
- var self = this;
- this.p_id = parseInt(this.p_id, 10);
- this.process_dataset
- .call(
- "graph_get",
- [self.p_id, self.model, false, [80,80,150,100]],
- function(res) {
- res['title'] = res.resource ? res.resource : res.name;
- self.process_dataset.call("search_by_model",[self.model,self.session.context],function(r){
- res['related'] = r;
- });
- self.draw_process_graph(res);
- }
- );
- },
-
- draw_process_graph: function(res) {
- var self = this;
- var process_graph = new Graph();
-
- var process_renderer = function(r, n) {
- var process_node,
- process_node_text,
- process_node_desc,
- process_set;
-
- var node_button,
- node_menu,
- img_src;
-
- var bg = "node";
- var clip_rect = "".concat(n.node.x,",",n.node.y,",150,100");
- var text_position_x = n.node.kind == "subflow" ? n.node.x+88 : n.node.x+75;
-
- //Image part
- bg = n.node.kind == "subflow" ? "node-subflow" : "node";
- bg = n.node.gray ? bg + "-gray" : bg;
- img_src = '/web_process/static/src/img/'+ bg + '.png';
-
- r['image'](img_src, n.node.x, n.node.y,150, 100)
- .attr({"clip-rect": clip_rect})
- .mousedown(function(){
- return false;
- });
-
- //Node
- process_node = r['rect'](n.node.x, n.node.y, 150, 100).attr({stroke: "none"});
-
- // Node text
- process_node_text = r.text(text_position_x, n.node.y+10, (n.node.name))
- .attr({"fill": "#fff", "font-weight": "bold", "cursor": "pointer"});
-
- if(n.node.subflow) {
- process_node_text.click(function() {
- self.p_id = n.node.subflow[0];
- $.when(self.load_process()).then(self.render_process_view());
- });
- }
-
- //Node Description
- process_node_desc = r.text(n.node.x+75, n.node.y+50, (n.node.notes));
-
- r['image']('/web/static/src/img/icons/gtk-info.png', n.node.x+20, n.node.y+70, 16, 16)
- .attr({"cursor": "pointer", "title": "Help"})
- .click(function(){
- window.open(n.node.url || "http://doc.openerp.com/v6.0/index.php?model=" + n.node.model);
- });
-
- if(n.node.menu) {
- r['image']('/web/static/src/img/icons/gtk-jump-to.png', n.node.x+115, n.node.y+70, 16, 16)
- .attr({"cursor": "pointer", "title": n.node.menu.name})
- .click(function() {
- self.jump_to_view(n.node.res_model, n.node.menu.id);
- });
- }
-
- process_set = r.set()
- .push(process_node)
+ },
+
+ render_process_view: function() {
+ var self = this;
+ this.p_id = parseInt(this.p_id, 10);
+ this.process_dataset.call("graph_get",
+ [self.p_id, self.model, false, [80,80,150,100]],
+ function(res) {
+ res['title'] = res.resource ? res.resource : res.name;
+ self.process_dataset.call("search_by_model",
+ [self.model,self.session.context],
+ function(r) {
+ res['related'] = r;
+ });
+ self.draw_process_graph(res);
+ }
+ );
+ },
+
+ draw_process_graph: function(res) {
+ var self = this;
+ var process_graph = new Graph();
+
+ var process_renderer = function(r, n) {
+ var process_node,
+ process_node_text,
+ process_node_desc,
+ process_set;
+
+ var node_button,
+ node_menu,
+ img_src;
+
+ var bg = "node",
+ clip_rect = "".concat(n.node.x,",",n.node.y,",150,100"),
+// text_position_x = n.node.x + (n.node.y/2)
+
+ //Image part
+ bg = n.node.kind == "subflow" ? "node-subflow" : "node";
+ bg = n.node.gray ? bg + "-gray" : bg;
+ img_src = '/web_process/static/src/img/'+ bg + '.png';
+
+ r['image'](img_src, n.node.x, n.node.y,150, 100)
+ .attr({"clip-rect": clip_rect})
+ .mousedown(function(){
+ return false;
+ });
+
+ //Node
+ process_node = r['rect'](n.node.x, n.node.y, 150, 100).attr({stroke: "none"});
+ // Node text
+ process_node_text = r.text(n.node.x, n.node.y, (n.node.name))
+ .attr({"fill": "#fff", "font-weight": "bold", "cursor": "pointer"});
+ process_node_text.translate(n.node.x / 2, 10)
+ if(n.node.subflow) {
+ process_node_text.click(function() {
+ self.p_id = n.node.subflow[0];
+ self.process_action_model = n.node.model;
+ self.process_action_name = n.node.name;
+ self.process_subflow();
+ });
+ }
+
+ //Node Description
+ process_node_desc = r.text(n.node.x+75, n.node.y+50, (n.node.notes));
+
+ r['image']('/web/static/src/img/icons/gtk-info.png', n.node.x+20, n.node.y+70, 16, 16)
+ .attr({"cursor": "pointer", "title": "Help"})
+ .click(function() {
+ window.open(n.node.url || "http://doc.openerp.com/v6.0/index.php?model=" + n.node.model);
+ });
+
+ if(n.node.menu) {
+ r['image']('/web/static/src/img/icons/gtk-jump-to.png', n.node.x+115, n.node.y+70, 16, 16)
+ .attr({"cursor": "pointer", "title": n.node.menu.name})
+ .click(function() {
+ self.jump_to_view(n.node.res_model, n.node.menu.id);
+ });
+ }
+
+ process_set = r.set().push(process_node);
process_set.mousedown(function() {
- return false;
- });
- return process_set;
- };
-
- _.each(res['nodes'],function(node, node_id) {
- node['res_model'] = self.model,
- node['res_id'] = false,
- node['id'] = node_id;
- process_graph.addNode(node['name'], {node: node,render: process_renderer});
- });
-
- _.each(res['transitions'], function(transitions) {
-
- var src = res['nodes'][transitions['source']];
- var dst = res['nodes'][transitions['target']];
- // make active
- transitions['active'] = src.active && !dst.gray;
- process_graph.addEdge(src['name'], dst['name'], {directed : true, label: transitions['name']})
- });
- var layouter = new Graph.Layout.Ordered(process_graph);
- var render_process_graph = new Graph.Renderer.Raphael('process_canvas', process_graph, $('#process_canvas').width(), $('#process_canvas').height());
- },
-
- jump_to_view: function(model, id) {
- var self = this;
- var dataset = new openerp.web.DataSetStatic(this, 'ir.values', this.session.context);
- dataset
- .call('get',
- ['action', 'tree_but_open',[['ir.ui.menu', id]], dataset.context],
- function(res) {
- self.$element.empty();
- var action = res[0][res[0].length - 1];
- self.rpc("/web/action/load", {
- action_id: action.id,
- context: dataset.context
- }, function(result) {
- var action_manager = new openerp.web.ActionManager(self);
- action_manager.appendTo(self.widget_parent.$element);
- action_manager.do_action(result.result);
- });
- }
- );
- }
- });
+ return false;
+ });
+ return process_set;
+ };
+
+ _.each(res['nodes'],function(node, node_id) {
+ node['res_model'] = self.model,
+ node['res_id'] = false,
+ node['id'] = node_id;
+ process_graph.addNode(node['name'], {node: node,render: process_renderer});
+ });
+
+ _.each(res['transitions'], function(transitions) {
+ var src = res['nodes'][transitions['source']];
+ var dst = res['nodes'][transitions['target']];
+ // make active
+ transitions['active'] = src.active && !dst.gray;
+ process_graph.addEdge(src['name'], dst['name'], {directed : true});
+ });
+
+ var layouter = new Graph.Layout.Ordered(process_graph);
+ var render_process_graph = new Graph.Renderer.Raphael('process_canvas', process_graph, $('#process_canvas').width(), $('#process_canvas').height());
+ },
+
+ jump_to_view: function(model, id) {
+ var self = this;
+ var dataset = new openerp.web.DataSetStatic(this, 'ir.values', this.session.context);
+ dataset.call('get',
+ ['action', 'tree_but_open',[['ir.ui.menu', id]], dataset.context],
+ function(res) {
+ self.$element.empty();
+ var action = res[0][res[0].length - 1];
+ self.rpc("/web/action/load", {
+ action_id: action.id,
+ context: dataset.context
+ }, function(result) {
+ var action_manager = new openerp.web.ActionManager(self);
+ action_manager.appendTo(self.widget_parent.$element);
+ action_manager.do_action(result.result);
+ });
+ });
+ }
+ });
};
diff --git a/addons/web_process/static/src/xml/web_process.xml b/addons/web_process/static/src/xml/web_process.xml
index 11037671e01..94ab8e870f2 100644
--- a/addons/web_process/static/src/xml/web_process.xml
+++ b/addons/web_process/static/src/xml/web_process.xml
@@ -1,67 +1,71 @@
<template>
- <t t-extend="ViewManager" t-name="ViewManagerAction">
- <t t-jquery=".oe_view_title" t-operation="append">
- <img class="oe-process-view" src="/web/static/src/img/icons/gtk-help.png" title="ProcessView"/>
- </t>
- </t>
- <t t-name="ProcessView">
- <table class="view" border="0" width="100%" height="100%" cellpadding="0" cellspacing="0">
- <tr>
- <td width="75%" valign="top" class="fields collapsed" style="padding-top:10px;">
- <h1 class="process_h1">
- <t t-esc="action.name"/> (<t t-esc="model"/>)
- </h1>
- <p class="process-links">
- <a class="cta-a" target="_blank" href="#">
- <span>
- <strong>Documentation</strong>
- Read Documentation Online
- </span>
-
- </a>
- <a class="cta-a" target="_blank" href="http://www.openerp.com/forum/">
- <span>
- <strong>Forum</strong>
- Community Discussion
- </span>
- </a>
- <a class="cta-a" target="_blank" href="http://www.openerp.com/services/books">
- <span>
- <strong>Books</strong>
- Get the book on Amazon
- </span>
- </a>
- <a class="cta-a" target="_blank" href="http://www.openerp.com/services/subscribe-onsite">
- <span>
- <strong>Support / Publisher Warranty</strong>
- Get the OpenERP Warranty
- </span>
- </a>
- </p>
- </td>
- </tr>
- <tr t-if="selection">
- <td>
- <fieldset>
- <legend>
- Select Process
- </legend>
- <select id="select_process">
- <t t-foreach="selection" t-as="prc">
- <option t-att-value="prc[0]">
- <t t-esc="prc[1]"/>
- </option>
- </t>
- </select>
- <button id="change_process">Select</button>
- </fieldset>
- </td>
- </tr>
- <tr t-if="p_id">
- <td>
- <div id="process_canvas" style="overflow: auto;"></div>
- </td>
- </tr>
- </table>
- </t>
+ <t t-extend="ViewManager" t-name="ViewManagerAction">
+ <t t-jquery=".oe_view_title" t-operation="append">
+ <img class="oe-process-view" src="/web/static/src/img/icons/gtk-help.png" title="ProcessView"/>
+ </t>
+ </t>
+ <t t-name="ProcessView">
+ <table class="view" border="0" width="100%" height="100%" cellpadding="0" cellspacing="0">
+ <tr>
+ <td width="75%" valign="top" class="fields collapsed" style="padding-top:10px;">
+ <h1 class="process_h1">
+ <t t-esc="action.name"/> (<t t-esc="model"/>)
+ </h1>
+ <p class="process-links">
+ <a class="cta-a" target="_blank" href="#">
+ <span>
+ <strong>Documentation</strong>
+ Read Documentation Online
+ </span>
+ </a>
+ <a class="cta-a" target="_blank" href="http://www.openerp.com/forum/">
+ <span>
+ <strong>Forum</strong>
+ Community Discussion
+ </span>
+ </a>
+ <a class="cta-a" target="_blank" href="http://www.openerp.com/services/books">
+ <span>
+ <strong>Books</strong>
+ Get the book on Amazon
+ </span>
+ </a>
+ <a class="cta-a" target="_blank" href="http://www.openerp.com/services/subscribe-onsite">
+ <span>
+ <strong>Support / Publisher Warranty</strong>
+ Get the OpenERP Warranty
+ </span>
+ </a>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><t t-esc="process_help"/></p>
+ </td>
+ </tr>
+ <tr t-if="selection">
+ <td>
+ <fieldset>
+ <legend>
+ Select Process
+ </legend>
+ <select id="select_process">
+ <t t-foreach="selection" t-as="prc">
+ <option t-att-value="prc[0]">
+ <t t-esc="prc[1]"/>
+ </option>
+ </t>
+ </select>
+ <button id="change_process">Select</button>
+ </fieldset>
+ </td>
+ </tr>
+ <tr t-if="p_id">
+ <td>
+ <div id="process_canvas" style="overflow: auto;"></div>
+ </td>
+ </tr>
+ </table>
+ </t>
</template>