Ticket #51 + some minor improvments.

This commit is contained in:
tonio
2010-04-30 10:43:05 +02:00
parent b985729e9a
commit 29e6bf4fb9
5 changed files with 22 additions and 32 deletions
+1 -1
View File
@@ -269,7 +269,7 @@ class IMAPconnector(object):
imapid = response_part[0].split()[0]
flags = imaplib.ParseFlags(response_part[0])
msg = email.message_from_string(response_part[1])
msg["imapid"] = "%s/%s" % (folder, imapid)
msg["imapid"] = imapid
if not "\\Seen" in flags:
msg["class"] = "unseen"
if "\\Answered" in flags:
+7 -15
View File
@@ -132,16 +132,17 @@ def viewmail(request, folder, mail_id=None):
def getmailcontent(request, folder, mail_id):
msg = fetchmail(request, folder, mail_id, True)
if "class" in msg.keys() and msg["class"] == "unseen":
IMAPconnector(request).msg_read(*msg["imapid"].split("/"))
#IMAPconnector(request).msg_read(*msg["imapid"].split("/"))
IMAPconnector(request).msg_read(folder, mail_id)
email = ImapEmail(msg, mode="html", links="1")
try:
pageid = request.session["page"]
except KeyError:
pageid = "1"
folder, imapid = msg["imapid"].split("/")
#folder, imapid = msg["imapid"].split("/")
return _render(request, "common/viewmail.html", {
"headers" : email.render_headers(folder, mail_id),
"folder" : folder, "imapid" : imapid, "mailbody" : email.body,
"folder" : folder, "imapid" : mail_id, "mailbody" : email.body,
"pre" : email.pre
})
@@ -170,14 +171,9 @@ def move(request):
for arg in ["msgset", "to"]:
if not request.GET.has_key(arg):
return
msgset = []
fdname = ""
for item in request.GET["msgset"].split(","):
fdname, id = item.split("/")
msgset += [id]
mbc = IMAPconnector(request)
mbc.move(",".join(msgset), fdname, request.GET["to"])
return folder(request, fdname, False)
mbc.move(request.GET["msgset"], request.session["folder"], request.GET["to"])
return folder(request, request.session["folder"], False)
@login_required
def delete(request, fdname, mail_id):
@@ -190,12 +186,8 @@ def mark(request, name):
if not request.GET.has_key("status") or not request.GET.has_key("ids"):
return
mbc = IMAPconnector(request)
ids = request.GET["ids"].split(',')
msgset = []
for id in ids:
msgset.append(id.split("/")[1])
try:
getattr(mbc, "msg_%s" % request.GET["status"])(name, ",".join(msgset))
getattr(mbc, "msg_%s" % request.GET["status"])(name, request.GET["ids"])
except AttributeError:
pass
return folder(request, name, False)
+6 -14
View File
@@ -250,7 +250,7 @@ ul.visible {
th.addClass("selected");
}
var selectedRows = new Array();
$$("tr").addEvent("click", function(event) {
$$("tbody>tr").addEvent("click", function(event) {
var tr = event.target.getParent();
if (!tr.hasClass("selected")) {
tr.addClass("selected");
@@ -270,9 +270,8 @@ ul.visible {
selectedRows.each(function(item, index) {
ids.include(item.get("id"));
});
current_anchor.parse_string(evt.target.get("href"), true);
current_anchor.updateparams("ids=" + ids.join());
current_anchor.update();
new Request.JSON({url : evt.target.get("href"),
onSuccess : get_callback("folder")}).get({ids : ids.join()});
}
$$("a[name=mark-read]").addEvent("click", buildmarkrequest);
$$("a[name=mark-unread]").addEvent("click", buildmarkrequest);
@@ -282,7 +281,7 @@ ul.visible {
current_anchor.parse_string(evt.target.get("href"), true).update();
});
$$("tr").each(function(item) {
$$("tbody>tr").each(function(item) {
new Drag.Move(item, {
droppables: ".droppable",
}).addEvents({
@@ -310,13 +309,6 @@ ul.visible {
this.oldelement = this.element;
this.element = block;
},
"cancel" : function(item) {
if ($defined(this.oldelement)) {
item.dispose();
delete(item);
this.element = this.oldelement;
}
},
"enter" : function(item, droppable) {
droppable.addClass("dragging");
},
@@ -352,13 +344,13 @@ ul.visible {
selectedRows.include(item);
});
} else {
$$("tr").each(function(item) { item.removeClass("selected"); });
$$("tbody>tr").each(function(item) { item.removeClass("selected"); });
selectedRows.empty();
}
});
}
$$("tr").addEvent("dblclick", viewmail);
$$("tbody>tr").addEvent("dblclick", viewmail);
$$("th[class*=sortable]").addEvent("click", function(evt) {
var tmp = "?";
var order = (navparams.has("order")) ? navparams.get("order") : "";
+7 -1
View File
@@ -31,7 +31,8 @@ check_anchor = function() {
delete(current_anchor.force);
current_anchor.from_string(location.hash);
if (!current_anchor.serialized) {
query = current_anchor.deflocation;
location.hash = current_anchor.deflocation;
return;
} else {
query = current_anchor.serialized.substring(1);
}
@@ -155,6 +156,11 @@ function HashWrapper(deflocation) {
return this;
};
this.addbaseurl = function(value) {
newbase = this.base + value;
return this.baseurl(newbase);
};
this.getbaseurl = function() {
return this.base.substr(0, this.base.length - 1);
};
+1 -1
View File
@@ -43,7 +43,7 @@ window.addEvent("domready", function() {
if (event.target.parentNode.id) {
var url = event.target.parentNode.id + "/";
event.target.parentNode.setStyle("background", "#ffffcc");
current_anchor.baseurl(url).update();
current_anchor.addbaseurl(url).update();
}
}