Преглед изворни кода

[finder] [started] [wip]

version-14
Rushabh Mehta пре 12 година
родитељ
комит
f631ee015c
12 измењених фајлова са 150 додато и 14 уклоњено
  1. +7
    -0
      config.json
  2. +2
    -0
      core/page/desktop/desktop.js
  3. +0
    -0
      core/page/finder/__init__.py
  4. +84
    -0
      core/page/finder/finder.js
  5. +0
    -0
      core/page/finder/finder.py
  6. +37
    -0
      core/page/finder/finder.txt
  7. +4
    -0
      public/css/common.css
  8. +2
    -0
      public/js/legacy/datatype.js
  9. +1
    -1
      public/js/wn/ui/toolbar/toolbar.js
  10. +1
    -1
      templates/pages/login.html
  11. +10
    -9
      webnotes/widgets/notification.py
  12. +2
    -3
      webnotes/widgets/page.py

+ 7
- 0
config.json Прегледај датотеку

@@ -1,5 +1,12 @@
{
"modules": {
"Finder": {
"type": "page",
"link": "finder",
"color": "#bdc3c7",
"label": "Finder",
"icon": "icon-folder-open"
},
"To Do": {
"type": "page",
"link": "todo",


+ 2
- 0
core/page/desktop/desktop.js Прегледај датотеку

@@ -18,6 +18,8 @@ wn.core.pages.desktop.render = function() {
document.title = "Desktop";
var add_icon = function(m) {
var module = wn.modules[m];
if(!module)
return;
if(!module.label)
module.label = m;
module.name = m;


+ 0
- 0
core/page/finder/__init__.py Прегледај датотеку


+ 84
- 0
core/page/finder/finder.js Прегледај датотеку

@@ -0,0 +1,84 @@
wn.pages['finder'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
title: 'Finder',
single_column: true
});
var $body = $(wrapper).find(".layout-main").addClass("row");
var start = 0;

var $modules = $('<div class="col-sm-3">\
<div class="panel panel-info">\
<div class="panel-heading">Modules</div>\
<table class="table">\
<tbody></tbody>\
</table>\
</div>\
</div>').appendTo($body).find("tbody");
var $doctypes = $('<div class="col-sm-3">\
<div class="panel panel-info">\
<div class="panel-heading">DocTypes</div>\
<table class="table">\
<tbody></tbody>\
</table>\
</div>\
</div>').appendTo($body).find("tbody");

var $list = $('<div class="col-sm-6">\
<div class="panel panel-default">\
<div class="panel-heading">Documents</div>\
<table class="table">\
<tbody></tbody>\
</table>\
</div>\
</div>').appendTo($body).find("tbody");
// modules
$.each(keys(wn.boot.notification_info.module_doctypes).sort(), function(i, module) {
$($r('<tr><td><a data-module="%(module)s" class="module-link">%(module)s</a></td></tr>',
{module: module})).appendTo($modules);
});

$modules.on("click", ".module-link", function() {
// doctypes
var module = $(this).attr("data-module");
$doctypes.empty();
$.each(wn.boot.notification_info.module_doctypes[module].sort(), function(i, doctype) {
$($r('<tr><td><a data-doctype="%(doctype)s" class="doctype-link">%(doctype)s</a></td></tr>',
{doctype: doctype})).appendTo($doctypes)
});
});
$doctypes.on("click", ".doctype-link", function() {
$list.empty();
var doctype = $(this).attr("data-doctype");
wn.call({
method: "webnotes.widgets.reportview.get",
args: {
doctype: doctype,
fields: ["name", "modified", "owner"],
limit_start: start || 0,
},
callback: function(r) {
console.log(r);
if(r.message.values) {
$.each(r.message.values, function(i, v) {
$($r('<tr><td>\
<a data-name="%(name)s" href="#Form/%(doctype)s/%(name)s">%(name)s</a>\
<span class="text-muted text-small">%(owner)s</span>\
<span class="text-muted pull-right">%(modified)s</span>\
</td></tr>', {
doctype: doctype,
name: v[1],
owner: v[0],
modified: comment_when(v[2])
})).appendTo($list)
})
}
}
})
})
}

+ 0
- 0
core/page/finder/finder.py Прегледај датотеку


+ 37
- 0
core/page/finder/finder.txt Прегледај датотеку

@@ -0,0 +1,37 @@
[
{
"creation": "2013-09-06 11:53:22",
"docstatus": 0,
"modified": "2013-09-06 11:53:23",
"modified_by": "Administrator",
"owner": "Administrator"
},
{
"doctype": "Page",
"icon": "icon-folder-open",
"module": "Core",
"name": "__common__",
"page_name": "Finder",
"standard": "Yes",
"title": "Finder"
},
{
"doctype": "Page Role",
"name": "__common__",
"parent": "finder",
"parentfield": "roles",
"parenttype": "Page"
},
{
"doctype": "Page",
"name": "finder"
},
{
"doctype": "Page Role",
"role": "System Manager"
},
{
"doctype": "Page Role",
"role": "Administrator"
}
]

+ 4
- 0
public/css/common.css Прегледај датотеку

@@ -22,6 +22,10 @@ a {
padding-bottom: 10px;
}

.text-small {
font-size: 80%;
}

/* freeze */

div#freeze {


+ 2
- 0
public/js/legacy/datatype.js Прегледај датотеку

@@ -104,6 +104,8 @@ function repl(s, dict) {
return s;
}

var $r = repl;

function replace_all(s, t1, t2) {
return s.split(t1).join(t2);
}


+ 1
- 1
public/js/wn/ui/toolbar/toolbar.js Прегледај датотеку

@@ -34,7 +34,7 @@ wn.ui.toolbar.Toolbar = Class.extend({
<span class="icon-bar"></span>\
<span class="icon-bar"></span>\
</button>\
<a class="navbar-brand" href="#"></a>\
<a class="navbar-brand" href="#"><i class="icon-home"></i></a>\
</div>\
<div class="collapse navbar-collapse navbar-responsive-collapse">\
<ul class="nav navbar-nav navbar-left">\


+ 1
- 1
templates/pages/login.html Прегледај датотеку

@@ -14,7 +14,7 @@
{% set title="Login" %}

{% block body %}
<div class="container">
<div class="container" style="max-width: 750px;">
<div class="row" style="margin-top: 100px;">
<div class="col-sm-offset-3 col-sm-6">
<div class="panel panel-default">


+ 10
- 9
webnotes/widgets/notification.py Прегледај датотеку

@@ -35,21 +35,22 @@ def get():

def get_notification_info_for_boot():
out = get()
try:
from startup.open_count import for_doctype
except ImportError:
return out
can_read = webnotes.user.get_can_read()
conditions = {}
module_doctypes = {}
doctype_info = dict(webnotes.conn.sql("""select name, module from tabDocType"""))

try:
from startup.open_count import for_doctype
except ImportError:
for_doctype = {}
for d in for_doctype:
if d in can_read:
for d in can_read:
if d in for_doctype:
conditions[d] = for_doctype[d]
module_doctypes.setdefault(doctype_info[d], []).append(d)
module_doctypes.setdefault(doctype_info[d], []).append(d)
out.update({
"conditions": conditions,


+ 2
- 3
webnotes/widgets/page.py Прегледај датотеку

@@ -13,9 +13,8 @@ def get(name):
"""
Return the :term:`doclist` of the `Page` specified by `name`
"""
from webnotes.model.code import get_obj
page = get_obj('Page', name, with_children=1)
page.get_from_files()
page = webnotes.bean("Page", name)
page.run_method("get_from_files")
return page.doclist

@webnotes.whitelist(allow_guest=True)


Loading…
Откажи
Сачувај