Documents at 65%. Display folders and documents, no pagination yet.. Posible to create Folders and upload external files. Working on Download, search
438
gulliver/js/ext/ux.locationbar/Ext.ux.LocationBar.js
Executable file
80
gulliver/js/ext/ux.statusbar/ext-statusbar.js
Executable file
@@ -0,0 +1,80 @@
|
||||
Ext.namespace('Ext.ux');
|
||||
|
||||
Ext.ux.StatusBar = Ext.extend(Ext.Toolbar, {
|
||||
textId: '',
|
||||
defaultText: '',
|
||||
autoClear: 5000,
|
||||
task: null,
|
||||
initComponent: function() {
|
||||
this.textId = Ext.id();
|
||||
this.defaultText = this.initialConfig.defaultText || '';
|
||||
var text = this.initialConfig.text || this.defaultText;
|
||||
|
||||
var config = {
|
||||
items: [
|
||||
'<span id="'+this.textId+'">'+text+'</span>', // status text
|
||||
'->' // make it greedy
|
||||
]
|
||||
};
|
||||
if (this.initialConfig.items) {
|
||||
config.items = config.items.concat(this.initialConfig.items);
|
||||
delete this.initialConfig.items;
|
||||
}
|
||||
Ext.apply(this, Ext.apply(this.initialConfig, config));
|
||||
Ext.ux.StatusBar.superclass.initComponent.apply(this, arguments);
|
||||
this.task = new Ext.util.DelayedTask(function() {
|
||||
var el = Ext.get(this.textId);
|
||||
var defaultText = this.defaultText;
|
||||
el.fadeOut({
|
||||
callback: function() {
|
||||
el.update(defaultText);
|
||||
el.show();
|
||||
},
|
||||
duration: 1
|
||||
});
|
||||
}, this);
|
||||
},
|
||||
onRender: function() {
|
||||
Ext.ux.StatusBar.superclass.onRender.apply(this, arguments);
|
||||
},
|
||||
setText: function(text) {
|
||||
var el = Ext.get(this.textId);
|
||||
el.update(text);
|
||||
},
|
||||
setStatus: function(config) {
|
||||
var defaults = {
|
||||
clear: {
|
||||
wait: this.autoClear,
|
||||
anim: true,
|
||||
useDefaults: true
|
||||
}
|
||||
};
|
||||
|
||||
if (config.clear === true) {
|
||||
delete config.clear;
|
||||
}
|
||||
if (!Ext.isArray(config)) {
|
||||
config = {
|
||||
text: config.text || ''
|
||||
}
|
||||
}
|
||||
Ext.apply(config, defaults);
|
||||
var el = Ext.get(this.textId);
|
||||
el.update(config.text);
|
||||
var clear = config.clear;
|
||||
var defaultText = this.defaultText;
|
||||
if (clear.wait) {
|
||||
this.task.delay(clear.wait);
|
||||
}
|
||||
else {
|
||||
this.task.cancel();
|
||||
}
|
||||
},
|
||||
clearStatus: function() {
|
||||
this.setText(this.defaultText);
|
||||
this.task.cancel();
|
||||
},
|
||||
showBusy: function(msg) {
|
||||
// stub for now
|
||||
}
|
||||
});
|
||||
159
gulliver/js/ext/ux.treefilterx/Ext.ux.tree.TreeFilterX.js
Executable file
@@ -0,0 +1,159 @@
|
||||
// vim: ts=4:sw=4:nu:fdc=4:nospell
|
||||
/* global Ext */
|
||||
/**
|
||||
* @class Ext.ux.tree.TreeFilterX
|
||||
* @extends Ext.tree.TreeFilter
|
||||
*
|
||||
* <p>
|
||||
* Shows also parents of matching nodes as opposed to default TreeFilter. In
|
||||
* other words this filter works "deep way".
|
||||
* </p>
|
||||
*
|
||||
* @author Ing. Jozef Sakáloš
|
||||
* @version 1.0
|
||||
* @date 17. December 2008
|
||||
* @revision $Id: Ext.ux.tree.TreeFilterX.js 589 2009-02-21 23:30:18Z jozo $
|
||||
* @see <a
|
||||
* href="http://extjs.com/forum/showthread.php?p=252709">http://extjs.com/forum/showthread.php?p=252709</a>
|
||||
*
|
||||
* @license Ext.ux.tree.CheckTreePanel is licensed under the terms of the Open
|
||||
* Source LGPL 3.0 license. Commercial use is permitted to the extent
|
||||
* that the code/component(s) do NOT become part of another Open Source
|
||||
* or Commercially licensed development library or toolkit without
|
||||
* explicit permission.
|
||||
*
|
||||
* <p>
|
||||
* License details: <a href="http://www.gnu.org/licenses/lgpl.html"
|
||||
* target="_blank">http://www.gnu.org/licenses/lgpl.html</a>
|
||||
* </p>
|
||||
*
|
||||
* @forum 55489
|
||||
* @demo http://remotetree.extjs.eu
|
||||
*
|
||||
* @donate <form action="https://www.paypal.com/cgi-bin/webscr" method="post"
|
||||
* target="_blank"> <input type="hidden" name="cmd" value="_s-xclick">
|
||||
* <input type="hidden" name="hosted_button_id" value="3430419"> <input
|
||||
* type="image"
|
||||
* src="https://www.paypal.com/en_US/i/btn/x-click-butcc-donate.gif"
|
||||
* border="0" name="submit" alt="PayPal - The safer, easier way to pay
|
||||
* online."> <img alt="" border="0"
|
||||
* src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1"
|
||||
* height="1"> </form>
|
||||
*/
|
||||
|
||||
Ext.ns('Ext.ux.tree');
|
||||
|
||||
/**
|
||||
* Creates new TreeFilterX
|
||||
*
|
||||
* @constructor
|
||||
* @param {Ext.tree.TreePanel}
|
||||
* tree The tree panel to attach this filter to
|
||||
* @param {Object}
|
||||
* config A config object of this filter
|
||||
*/
|
||||
Ext.ux.tree.TreeFilterX = Ext.extend(Ext.tree.TreeFilter, {
|
||||
/**
|
||||
* @cfg {Boolean} expandOnFilter Deeply expands startNode before filtering
|
||||
* (defaults to true)
|
||||
*/
|
||||
expandOnFilter : true
|
||||
|
||||
// {{{
|
||||
/**
|
||||
* Filter the data by a specific attribute.
|
||||
*
|
||||
* @param {String/RegExp}
|
||||
* value Either string that the attribute value should start with
|
||||
* or a RegExp to test against the attribute
|
||||
* @param {String}
|
||||
* attr (optional) The attribute passed in your node's attributes
|
||||
* collection. Defaults to "text".
|
||||
* @param {TreeNode}
|
||||
* startNode (optional) The node to start the filter at.
|
||||
*/
|
||||
,
|
||||
filter : function(value, attr, startNode) {
|
||||
|
||||
// expand start node
|
||||
if (false !== this.expandOnFilter) {
|
||||
startNode = startNode || this.tree.root;
|
||||
var animate = this.tree.animate;
|
||||
this.tree.animate = false;
|
||||
startNode.expand(true, false, function() {
|
||||
|
||||
// call parent after expand
|
||||
Ext.ux.tree.TreeFilterX.superclass.filter.call(this, value,
|
||||
attr, startNode);
|
||||
|
||||
}.createDelegate(this));
|
||||
this.tree.animate = animate;
|
||||
} else {
|
||||
// call parent
|
||||
Ext.ux.tree.TreeFilterX.superclass.filter.apply(this, arguments);
|
||||
}
|
||||
|
||||
} // eo function filter
|
||||
// }}}
|
||||
// {{{
|
||||
/**
|
||||
* Filter by a function. The passed function will be called with each node
|
||||
* in the tree (or from the startNode). If the function returns true, the
|
||||
* node is kept otherwise it is filtered. If a node is filtered, its
|
||||
* children are also filtered. Shows parents of matching nodes.
|
||||
*
|
||||
* @param {Function}
|
||||
* fn The filter function
|
||||
* @param {Object}
|
||||
* scope (optional) The scope of the function (defaults to the
|
||||
* current node)
|
||||
*/
|
||||
,
|
||||
filterBy : function(fn, scope, startNode) {
|
||||
startNode = startNode || this.tree.root;
|
||||
if (this.autoClear) {
|
||||
this.clear();
|
||||
}
|
||||
var af = this.filtered, rv = this.reverse;
|
||||
|
||||
var f = function(n) {
|
||||
if (n === startNode) {
|
||||
return true;
|
||||
}
|
||||
if (af[n.id]) {
|
||||
return false;
|
||||
}
|
||||
var m = fn.call(scope || n, n);
|
||||
if (!m || rv) {
|
||||
af[n.id] = n;
|
||||
n.ui.hide();
|
||||
return true;
|
||||
} else {
|
||||
n.ui.show();
|
||||
var p = n.parentNode;
|
||||
while (p && p !== this.root) {
|
||||
p.ui.show();
|
||||
p = p.parentNode;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
startNode.cascade(f);
|
||||
|
||||
if (this.remove) {
|
||||
for ( var id in af) {
|
||||
if (typeof id != "function") {
|
||||
var n = af[id];
|
||||
if (n && n.parentNode) {
|
||||
n.parentNode.removeChild(n);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} // eo function filterBy
|
||||
// }}}
|
||||
|
||||
}); // eo extend
|
||||
|
||||
// eof
|
||||
@@ -63,6 +63,24 @@ class Users extends BaseUsers {
|
||||
throw($e);
|
||||
}
|
||||
}
|
||||
|
||||
public function userExists($UsrUid)
|
||||
{
|
||||
try {
|
||||
$oRow = UsersPeer::retrieveByPK( $UsrUid );
|
||||
if (!is_null($oRow))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function load($UsrUid)
|
||||
{
|
||||
try {
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
$G_TMP_MENU->AddIdRawOption('CASES_HOME', 'casesStartPage', G::LoadTranslation('ID_CASES_START_PAGE'), '', '', 'blockHeader');
|
||||
|
||||
//$G_TMP_MENU->AddIdRawOption('CASES_FOLDERS', 'casesStartPage?action=documents', G::LoadTranslation('ID_FOLDERS'), 'folderV2.gif' );
|
||||
$G_TMP_MENU->AddIdRawOption('CASES_FOLDERS', 'casesStartPage?action=documents', G::LoadTranslation('ID_FOLDERS'), 'folderV2.gif' );
|
||||
//$G_TMP_MENU->AddIdRawOption('CASES_START_PAGE', 'casesStartPage?action=mainDashboard', ucwords(strtolower(G::LoadTranslation('ID_DASHBOARD'))), '' );
|
||||
|
||||
//Load Other registered Dashboards (From plugins)
|
||||
|
||||
@@ -5,6 +5,14 @@
|
||||
}
|
||||
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
//$oHeadPublisher->setExtSkin( 'xtheme-gray');
|
||||
//$oHeadPublisher->usingExtJs('ux/TabCloseMenu');
|
||||
|
||||
|
||||
$oHeadPublisher->usingExtJs('ux.treefilterx/Ext.ux.tree.TreeFilterX');
|
||||
$oHeadPublisher->usingExtJs('ux.locationbar/Ext.ux.LocationBar');
|
||||
$oHeadPublisher->usingExtJs('ux.statusbar/ext-statusbar');
|
||||
//$oHeadPublisher->usingExtJs('ux/ColumnHeaderGroup');
|
||||
$oHeadPublisher->addExtJsScript('cases/casesStartPage', false); //adding a javascript file .js
|
||||
$oHeadPublisher->addContent( 'cases/casesStartPage'); //adding a html file .html.
|
||||
|
||||
|
||||
BIN
workflow/public_html/images/documents/_.gif
Executable file
|
After Width: | Height: | Size: 43 B |
BIN
workflow/public_html/images/documents/_accept.png
Executable file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
workflow/public_html/images/documents/_admin.gif
Executable file
|
After Width: | Height: | Size: 639 B |
BIN
workflow/public_html/images/documents/_archive.png
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
workflow/public_html/images/documents/_arrowdown.gif
Executable file
|
After Width: | Height: | Size: 70 B |
BIN
workflow/public_html/images/documents/_arrowup.gif
Executable file
|
After Width: | Height: | Size: 70 B |
BIN
workflow/public_html/images/documents/_bookmark_add.png
Executable file
|
After Width: | Height: | Size: 665 B |
BIN
workflow/public_html/images/documents/_cancel.png
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
workflow/public_html/images/documents/_chmod.png
Executable file
|
After Width: | Height: | Size: 774 B |
BIN
workflow/public_html/images/documents/_down.png
Executable file
|
After Width: | Height: | Size: 912 B |
BIN
workflow/public_html/images/documents/_edit.png
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
workflow/public_html/images/documents/_editcopy.png
Executable file
|
After Width: | Height: | Size: 730 B |
BIN
workflow/public_html/images/documents/_editdelete.png
Executable file
|
After Width: | Height: | Size: 860 B |
BIN
workflow/public_html/images/documents/_extract.gif
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
workflow/public_html/images/documents/_extract.png
Executable file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
workflow/public_html/images/documents/_filefind.png
Executable file
|
After Width: | Height: | Size: 813 B |
BIN
workflow/public_html/images/documents/_filenew.png
Executable file
|
After Width: | Height: | Size: 805 B |
BIN
workflow/public_html/images/documents/_folder_new.png
Executable file
|
After Width: | Height: | Size: 718 B |
BIN
workflow/public_html/images/documents/_fonts.png
Executable file
|
After Width: | Height: | Size: 892 B |
BIN
workflow/public_html/images/documents/_help.png
Executable file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
workflow/public_html/images/documents/_home.gif
Executable file
|
After Width: | Height: | Size: 1.1 KiB |