Author: zagy
Date: Wed Nov 5 12:33:34 2008
New Revision: 6985
Log:
moved things into the right place
simplified creating modules
Added:
CMFWebmail/trunk/gocept/webmail/browser/module-loader.pt
- copied, changed from r6983,
CMFWebmail/trunk/gocept/webmail/browser/profile.pt
CMFWebmail/trunk/gocept/webmail/browser/resources/
CMFWebmail/trunk/gocept/webmail/browser/resources/composer-main.js (props
changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/composer-main.js
CMFWebmail/trunk/gocept/webmail/browser/resources/composer.js (props
changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/composer.js
CMFWebmail/trunk/gocept/webmail/browser/resources/connection.js (props
changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/connection.js
CMFWebmail/trunk/gocept/webmail/browser/resources/draft.js (props changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/draft.js
CMFWebmail/trunk/gocept/webmail/browser/resources/images/ (props changed)
- copied from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_images/
CMFWebmail/trunk/gocept/webmail/browser/resources/management-main.js
(props changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/management-main.js
CMFWebmail/trunk/gocept/webmail/browser/resources/management.js (props
changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/management.js
CMFWebmail/trunk/gocept/webmail/browser/resources/message.js (props
changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/message.js
CMFWebmail/trunk/gocept/webmail/browser/resources/styles/ (props changed)
- copied from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_styles/
CMFWebmail/trunk/gocept/webmail/browser/resources/utilities.js (props
changed)
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/utilities.js
CMFWebmail/trunk/gocept/webmail/browser/resources/webmailer-main.js
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/webmailer-main.js
CMFWebmail/trunk/gocept/webmail/browser/resources/webmailer.js
- copied unchanged from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_javascript/webmailer.js
CMFWebmail/trunk/gocept/webmail/browser/resources/yui/ (props changed)
- copied from r6983,
CMFWebmail/trunk/gocept/webmail/skins/cmfwebmail_yui/yui/
Removed:
CMFWebmail/trunk/gocept/webmail/browser/profile.pt
CMFWebmail/trunk/gocept/webmail/browser/profile.py
CMFWebmail/trunk/gocept/webmail/skins/
Modified:
CMFWebmail/trunk/gocept/webmail/README.txt
CMFWebmail/trunk/gocept/webmail/browser/configure.zcml
CMFWebmail/trunk/gocept/webmail/browser/webmailer.py
Modified: CMFWebmail/trunk/gocept/webmail/README.txt
==============================================================================
--- CMFWebmail/trunk/gocept/webmail/README.txt (original)
+++ CMFWebmail/trunk/gocept/webmail/README.txt Wed Nov 5 12:33:34 2008
(at)(at) -9,7 +9,7 (at)(at)
running[#setup]_:
>>> browser.js.open_tab()
->>> time.sleep(0.1)
+>>> time.sleep(0.2)
>>> browser.open('/webmail')
>>> browser.getLink('Join').click()
>>> time.sleep(0.5)
Modified: CMFWebmail/trunk/gocept/webmail/browser/configure.zcml
==============================================================================
--- CMFWebmail/trunk/gocept/webmail/browser/configure.zcml (original)
+++ CMFWebmail/trunk/gocept/webmail/browser/configure.zcml Wed Nov 5 12:33:34
2008
(at)(at) -11,28 +11,30 (at)(at)
<browser:page
for="gocept.restmail.interfaces.IProfile"
name="index_html"
- class=".profile.Profile"
- template="profile.pt"
+ class=".webmailer.Webmailer"
+ template="module-loader.pt"
permission="gocept.webmail.View"
/>
<browser:page
for="gocept.restmail.interfaces.IProfile"
name="management"
- template="../skins/cmfwebmail_templates/management.pt"
+ class=".webmailer.Management"
+ template="module-loader.pt"
permission="gocept.webmail.View"
/>
<browser:page
for="gocept.restmail.interfaces.IDraftMessage"
name="webmail_composer"
- template="../skins/cmfwebmail_templates/webmail_composer.pt"
+ class=".webmailer.Composer"
+ template="module-loader.pt"
permission="gocept.webmail.View"
/>
<browser:resourceDirectory
name="gocept.webmail"
- directory="../skins"/>
+ directory="resources"/>
</configure>
Copied: CMFWebmail/trunk/gocept/webmail/browser/module-loader.pt (from r6983,
CMFWebmail/trunk/gocept/webmail/browser/profile.pt)
==============================================================================
--- CMFWebmail/trunk/gocept/webmail/browser/profile.pt (original)
+++ CMFWebmail/trunk/gocept/webmail/browser/module-loader.pt Wed Nov 5
12:33:34 2008
(at)(at) -1,34 +1,38 (at)(at)
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html class="webmailer">
<head
- tal:define="webmailer nocall:context/(at)(at)webmailer;
- yui_base_url
string:${webmailer/++resource++gocept.webmail}/cmfwebmail_yui/yui/build">
- <title>Portal</title>
-
+ tal:define="
+ webmailer nocall:context/(at)(at)webmailer;
+ profile nocall:context/(at)(at)profile;
+ resources view/resources;
+ yui_base_url string:$resources/yui/build">
+ <title tal:content="view/title">Portal</title>
+
<script type="text/javascript" tal:content="string:
var yui_base_url = '$yui_base_url';
- var app_base_url =
'${webmailer/++resource++gocept.webmail}/cmfwebmail_javascript';
- var profile_url = '${context/absolute_url}';
- var banner_url = '${view/banner_url}';">
+ var app_base_url = '$resources';
+ var profile_url = '${profile/absolute_url}';
+ var banner_url = '${webmailer/banner_url}';
+ ${view/declarations}
+ ">
</script>
<script type="text/javascript"
tal:attributes="src
string:$yui_base_url/yuiloader/yuiloader-beta-min.js">
</script>
<script type="text/javascript" src="utilities.js"
- tal:attributes="src
string:${webmailer/++resource++gocept.webmail}/cmfwebmail_javascript/utilities.js">
+ tal:attributes="src string:$resources/utilities.js">
</script>
- <script type="text/javascript" src="webmailer-main.js"
- tal:attributes="src
string:${webmailer/++resource++gocept.webmail}/cmfwebmail_javascript/webmailer-main.js">
+ <script type="text/javascript" src="main.js"
+ tal:attributes="src string:$resources/${view/main_file}">
</script>
<link rel="stylesheet" type="text/css"
- tal:attributes="href
string:${webmailer/++resource++gocept.webmail}/cmfwebmail_styles/webmail.css"/>
+ tal:attributes="href string:$resources/styles/webmail.css"/>
</head>
<body class="yui-skin-sam">
</body>
+
</html>
Modified: CMFWebmail/trunk/gocept/webmail/browser/webmailer.py
==============================================================================
--- CMFWebmail/trunk/gocept/webmail/browser/webmailer.py (original)
+++ CMFWebmail/trunk/gocept/webmail/browser/webmailer.py Wed Nov 5 12:33:34
2008
(at)(at) -2,13 +2,15 (at)(at)
# See also LICENSE.txt
import gocept.restmail.profile
+import xml.sax.saxutils
+import zope.tales.engine
class RedirectToProfile(object):
- """XXX"""
+ """Redirects to profile of currently logged in user."""
def __call__(self):
- """XXX"""
+ """call"""
user = self.request.AUTHENTICATED_USER.getUserName()
profile = self.ensure_profile(user)
self.request.response.redirect(profile.aq_inner.absolute_url())
(at)(at) -22,3 +24,55 (at)(at)
profile.manage_addProduct['MailHost'].manage_addMailHost(
'default-smtp') #XXX this is the wrong place for this
return profile
+
+
+class Module(object):
+
+ c = zope.tales.engine.Engine.compile
+ declare = dict()
+
+ (at)property
+ def declarations(self):
+ result = []
+ context = zope.tales.engine.Engine.getContext(
+ request=self.request,
+ context=self.context.aq_inner,
+ view=self)
+ for key, value in self.declare.items():
+ result.append(' var %s = %s;' % (
+ key, xml.sax.saxutils.quoteattr(value(context))))
+
+ return '\n'.join(result)
+
+ (at)property
+ def resources(self):
+ return self.context.aq_inner.restrictedTraverse(
+ '(at)(at)webmailer/++resource++gocept.webmail')()
+
+
+class Webmailer(Module):
+ """Webmail module."""
+
+ main_file = 'webmailer-main.js'
+ title = 'Portal'
+
+
+class Management(Module):
+ """Account management module."""
+
+ main_file = 'management-main.js'
+ title = 'Manage accounts'
+
+
+class Composer(Module):
+ """Composer module."""
+
+ main_file = 'composer-main.js'
+ title = 'Compose'
+
+ c = Module.c
+ declare = dict(
+ editor_style_url=c('string:${view/resources}/styles/editor.css'),
+ draft_url=c('context/absolute_url'),
+ )
+
|