Fix: merge conflict
authorYasin <mohammed-yasin.rahman@lip6.fr>
Mon, 23 Sep 2013 14:33:41 +0000 (16:33 +0200)
committerYasin <mohammed-yasin.rahman@lip6.fr>
Mon, 23 Sep 2013 14:33:41 +0000 (16:33 +0200)
35 files changed:
Makefile
apache/myslice.conf
debian/myslice.install
debian/unfold.install
myslice.spec
plugins/active_filters/templates/active_filters.html
plugins/messages/__init__.py
plugins/messages/messages.py [deleted file]
plugins/pres_view/static/js/initmap.js
plugins/pres_view/static/js/pres_view.js
plugins/querycode/__init__.py
plugins/querycode/querycode.py [deleted file]
plugins/quickfilter/__init__.py
plugins/quickfilter/quickfilter.py [deleted file]
plugins/raw/__init__.py
plugins/raw/raw.py [deleted file]
plugins/stack/__init__.py
plugins/stack/stack.py [deleted file]
plugins/tabs/__init__.py
plugins/tabs/tabs.py [deleted file]
plugins/updater/WARNING [deleted file]
plugins/updater/__init__.py [deleted file]
plugins/updater/static/css/updater.css [deleted file]
plugins/updater/static/js/updater.js [deleted file]
plugins/updater/templates/updater.html [deleted file]
plugins/wizard/templates/test.html [deleted file]
portal/accountview.py
portal/dashboardview.py
portal/homeview.py
portal/registrationview.py
portal/slicerequestview.py
portal/sliceview.py
trash/dashboard.py
trash/pluginview.py
views/loginrequired.py [moved from portal/templateviews.py with 100% similarity]

index 0cf1443..31ee234 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -141,18 +141,6 @@ local-templates: force
 
 list-templates: plugins-templates local-templates
 
-### #################### manage static contents (extract from all the modules into the single all-static location)
-### static run-static static-run: force
-###    mkdir -p ./all-static/js all-static/css all-static/img
-###    ln -sf $(foreach x,$(shell $(MAKE-SILENT) list-js),../../$(x)) ./all-static/js
-###    ln -sf $(foreach x,$(shell $(MAKE-SILENT) list-css),../../$(x)) ./all-static/css
-###    ln -sf $(foreach x,$(shell $(MAKE-SILENT) list-img),../../$(x)) ./all-static/img
-### 
-### clean-static static-clean: force
-###    rm -rf ./all-static
-### 
-### all-static: clean-static run-static
-
 #################### manage templates for the plugin area
 templates: force
        mkdir -p templates
index a3d1d32..8f3ff2b 100644 (file)
@@ -5,14 +5,14 @@
 # XXX this is very rough, was just pasted from the (wrong) web page
 # and never tested, so feel free to rewrite completely if that sounds right
 #
-#Alias /robots.txt /usr/share/myslice/all-static/robots.txt
-Alias /favicon.ico /usr/share/myslice/all-static/favicon.ico
+#Alias /robots.txt /usr/share/myslice/static/robots.txt
+Alias /favicon.ico /usr/share/myslice/static/favicon.ico
 
-#AliasMatch ^/([^/]*\.css) /usr/share/myslice/all-static/styles/$1
+#AliasMatch ^/([^/]*\.css) /usr/share/myslice/static/styles/$1
 
-Alias /all-static/ /usr/share/myslice/all-static/
+Alias /static/ /usr/share/myslice/static/
 
-<Directory /usr/share/myslice/all-static/>
+<Directory /usr/share/myslice/static/>
 Order deny,allow
 Allow from all
 </Directory>
index 03975ed..5c36f72 100644 (file)
@@ -1 +1 @@
-usr/share/unfold/plugins
+usr/share/unfold/portal
index 02fa3c5..24661e3 100644 (file)
@@ -1,5 +1,5 @@
-usr/share/unfold/all-static
-usr/share/unfold/all-templates
+usr/share/unfold/static
+usr/share/unfold/templates
 usr/share/unfold/apache
 usr/share/unfold/auth
 usr/share/unfold/insert_above
index e5c1111..1c7bf54 100644 (file)
@@ -17,7 +17,8 @@ Packager: OpenLab <thierry.parmentelat@inria.fr>
 URL: %{SCMURL}
 
 Requires: python >= 2.7
-Requires: Django
+# in f14 this used to be called Django
+Requires: python-django
 Requires: httpd
 Requires: mod_wsgi
 BuildRequires: python-setuptools make
index 7fa3883..24c4809 100644 (file)
@@ -12,7 +12,7 @@
        {% for filter in filters %}
        <div id='{{domid}}__filter__{{filter.key}}{{filter.op_str}}{{filter.value}}' class='filterButton' style='float:left;margin-bottom:10px;'>
                <span>{{filter.key}}__{{filter.op}}__{{filter.value}}</span>
-        <img src='/all-static/img/details_close.png' class='closeButton' style='padding-left:3px;'/>
+        <img src='/static/img/details_close.png' class='closeButton' style='padding-left:3px;'/>
        </div>
        {% endfor %}
 
index e69de29..65baea1 100644 (file)
@@ -0,0 +1,45 @@
+from unfold.plugin import Plugin
+
+# lists levels and sets them to enabled or not at startup
+default_levels = {'fatal': True, 'error': True, 'warning' : True, 'info' : True, 'debug' : False}
+
+# there are two implementations available here
+# one shows up in the main page like a regular part of the page,
+# while the other one relies on transient popups
+# by default we use the latter, but you can specify 
+# transient=False if you want to use the former
+# xxx
+# also the pieces that go with this transient mode are
+# under views/templates, it would make sense to move them over here
+# however it turns out that views/templates/base.html unconditionnally
+# includes messages-transient-header.html 
+class Messages (Plugin):
+
+    def __init__ (self, transient=True, levels=None, **settings):
+        Plugin.__init__ (self, **settings)
+        if levels is None: levels=default_levels
+        # shortcut: 'ALL' turn everything on
+        elif levels=='ALL': levels=dict( [ (k,True) for k in default_levels ] )
+        elif levels=='NONE': levels=dict( [ (k,False) for k in default_levels ] )
+        self.transient=transient
+        self.levels=levels
+
+    def template_file (self):
+        return "messages.html" if not self.transient else "messages-transient.html"
+
+    def requirements (self):
+        return {
+            'js_files' :  [ "js/messages.js", "js/manifold.js", ],
+            'css_files' : "css/messages.css",
+            }
+
+    # although this has no query, we need a plugin instance to be created in the js output
+    def export_json_settings (self):
+        return True
+    # the js plugin expects a domid
+    def json_settings_list (self):
+        return [ 'plugin_uuid', 'levels' ]
+
+    # and we don't need a spin wheel 
+    def start_with_spin (self):
+        return False
diff --git a/plugins/messages/messages.py b/plugins/messages/messages.py
deleted file mode 100644 (file)
index 65baea1..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-from unfold.plugin import Plugin
-
-# lists levels and sets them to enabled or not at startup
-default_levels = {'fatal': True, 'error': True, 'warning' : True, 'info' : True, 'debug' : False}
-
-# there are two implementations available here
-# one shows up in the main page like a regular part of the page,
-# while the other one relies on transient popups
-# by default we use the latter, but you can specify 
-# transient=False if you want to use the former
-# xxx
-# also the pieces that go with this transient mode are
-# under views/templates, it would make sense to move them over here
-# however it turns out that views/templates/base.html unconditionnally
-# includes messages-transient-header.html 
-class Messages (Plugin):
-
-    def __init__ (self, transient=True, levels=None, **settings):
-        Plugin.__init__ (self, **settings)
-        if levels is None: levels=default_levels
-        # shortcut: 'ALL' turn everything on
-        elif levels=='ALL': levels=dict( [ (k,True) for k in default_levels ] )
-        elif levels=='NONE': levels=dict( [ (k,False) for k in default_levels ] )
-        self.transient=transient
-        self.levels=levels
-
-    def template_file (self):
-        return "messages.html" if not self.transient else "messages-transient.html"
-
-    def requirements (self):
-        return {
-            'js_files' :  [ "js/messages.js", "js/manifold.js", ],
-            'css_files' : "css/messages.css",
-            }
-
-    # although this has no query, we need a plugin instance to be created in the js output
-    def export_json_settings (self):
-        return True
-    # the js plugin expects a domid
-    def json_settings_list (self):
-        return [ 'plugin_uuid', 'levels' ]
-
-    # and we don't need a spin wheel 
-    def start_with_spin (self):
-        return False
index abd8bf1..354564e 100644 (file)
@@ -1,7 +1,7 @@
        //initialisation no conflict et de la config APE
        
        j = jQuery.noConflict();
-       j.getScript('/all-static/js/config.js');
+       j.getScript('/static/js/config.js');
        
        //fin
        
index bd49c1c..6987918 100644 (file)
@@ -98,7 +98,7 @@
                        //APE + no conflit
             j = jQuery.noConflict();
                    ape_initialize();
-                   j.getScript('/all-static/js/config.js');
+                   j.getScript('/static/js/config.js');
 
                        // jquery:datepicker
                        j(".datepicker").datepicker({
index e69de29..55da3e9 100644 (file)
@@ -0,0 +1,30 @@
+from unfold.plugin import Plugin
+
+class QueryCode (Plugin):
+
+    def __init__ (self, query, **settings):
+        Plugin.__init__ (self, **settings)
+        self.query=query
+
+    def template_file (self):
+        return "querycode.html"
+
+    def requirements (self):
+        return { 
+            'js_files' : [ 
+                "js/querycode.js", 
+                "js/manifold.js", "js/manifold-query.js",
+                "js/spin.presets.js", "js/spin.min.js", "js/jquery.spin.js", 
+                "js/shAutoloader.js","js/shCore.js","js/shBrushPython.js","js/shBrushRuby.js",
+                ] ,
+# thierry: see this file for details of why we turn this off for now            
+            'css_files': [
+                "css/querycode.css" ,
+                "css/shCore.css","css/shCoreDefault.css","css/shThemeDefault.css",
+                ],
+            }
+
+    def json_settings_list (self): return ['plugin_uuid','query_uuid']
+        
+    # because we have a link to a query it looks like we need a spin, let's make this right
+    def start_with_spin (self): return False
diff --git a/plugins/querycode/querycode.py b/plugins/querycode/querycode.py
deleted file mode 100644 (file)
index 55da3e9..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-from unfold.plugin import Plugin
-
-class QueryCode (Plugin):
-
-    def __init__ (self, query, **settings):
-        Plugin.__init__ (self, **settings)
-        self.query=query
-
-    def template_file (self):
-        return "querycode.html"
-
-    def requirements (self):
-        return { 
-            'js_files' : [ 
-                "js/querycode.js", 
-                "js/manifold.js", "js/manifold-query.js",
-                "js/spin.presets.js", "js/spin.min.js", "js/jquery.spin.js", 
-                "js/shAutoloader.js","js/shCore.js","js/shBrushPython.js","js/shBrushRuby.js",
-                ] ,
-# thierry: see this file for details of why we turn this off for now            
-            'css_files': [
-                "css/querycode.css" ,
-                "css/shCore.css","css/shCoreDefault.css","css/shThemeDefault.css",
-                ],
-            }
-
-    def json_settings_list (self): return ['plugin_uuid','query_uuid']
-        
-    # because we have a link to a query it looks like we need a spin, let's make this right
-    def start_with_spin (self): return False
index e69de29..9ac95ae 100644 (file)
@@ -0,0 +1,23 @@
+from unfold.plugin import Plugin
+
+class QuickFilter (Plugin) :
+
+    def __init__ (self, criterias, **settings):
+        Plugin.__init__ (self, **settings)
+        self.criterias=criterias
+        self.page.expose_js_metadata()
+
+    def template_file (self): return "quickfilter.html"
+
+    def requirements (self):
+        return { 
+            'js_files' : [ "js/quickfilter.js", "js/metadata.js",
+                           ],
+            'css_files': "css/quickfilter.css",
+            }
+
+    def json_settings_list (self):
+        return ['criterias','plugin_uuid']
+
+    def template_env (self,request):
+        return {'criterias':self.criterias}
diff --git a/plugins/quickfilter/quickfilter.py b/plugins/quickfilter/quickfilter.py
deleted file mode 100644 (file)
index 9ac95ae..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-from unfold.plugin import Plugin
-
-class QuickFilter (Plugin) :
-
-    def __init__ (self, criterias, **settings):
-        Plugin.__init__ (self, **settings)
-        self.criterias=criterias
-        self.page.expose_js_metadata()
-
-    def template_file (self): return "quickfilter.html"
-
-    def requirements (self):
-        return { 
-            'js_files' : [ "js/quickfilter.js", "js/metadata.js",
-                           ],
-            'css_files': "css/quickfilter.css",
-            }
-
-    def json_settings_list (self):
-        return ['criterias','plugin_uuid']
-
-    def template_env (self,request):
-        return {'criterias':self.criterias}
index e69de29..01f59e9 100644 (file)
@@ -0,0 +1,12 @@
+from unfold.plugin import Plugin
+
+# usage Raw (html="some html text")
+
+class Raw (Plugin):
+
+    def __init__ (self, html, **kwds):
+        Plugin.__init__ (self, **kwds)
+        self.html=html
+
+    def render_content (self, request):
+        return self.html
diff --git a/plugins/raw/raw.py b/plugins/raw/raw.py
deleted file mode 100644 (file)
index 01f59e9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-from unfold.plugin import Plugin
-
-# usage Raw (html="some html text")
-
-class Raw (Plugin):
-
-    def __init__ (self, html, **kwds):
-        Plugin.__init__ (self, **kwds)
-        self.html=html
-
-    def render_content (self, request):
-        return self.html
index e69de29..c8ddbea 100644 (file)
@@ -0,0 +1,11 @@
+from django.template.loader import render_to_string
+
+from unfold.composite import Composite
+
+class Stack (Composite) :
+    
+    def template_file (self):        return "stack.html"
+    def template_env (self, request):
+        env = Composite.template_env (self, request)
+        env['domid'] = self.domid
+        return env
diff --git a/plugins/stack/stack.py b/plugins/stack/stack.py
deleted file mode 100644 (file)
index c8ddbea..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-from django.template.loader import render_to_string
-
-from unfold.composite import Composite
-
-class Stack (Composite) :
-    
-    def template_file (self):        return "stack.html"
-    def template_env (self, request):
-        env = Composite.template_env (self, request)
-        env['domid'] = self.domid
-        return env
index e69de29..6da94da 100644 (file)
@@ -0,0 +1,19 @@
+from unfold.composite import Composite
+
+class Tabs (Composite):
+    
+    def requirements (self):
+        return { 'js_files'     : ['js/tabs.js', 'js/bootstrap.js'],
+                 'css_files'    : ['css/bootstrap.css', 'css/tabs.css', ] 
+                 }
+
+    def template_file (self):
+        return "tabs.html"
+
+    # see Composite.py for the details of template_env, that exposes global
+    # 'sons' as a list of sons with each a set of a few attributes
+    def json_settings_list (self):
+        return []
+
+    def export_json_settings(self):
+        return True
diff --git a/plugins/tabs/tabs.py b/plugins/tabs/tabs.py
deleted file mode 100644 (file)
index 6da94da..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-from unfold.composite import Composite
-
-class Tabs (Composite):
-    
-    def requirements (self):
-        return { 'js_files'     : ['js/tabs.js', 'js/bootstrap.js'],
-                 'css_files'    : ['css/bootstrap.css', 'css/tabs.css', ] 
-                 }
-
-    def template_file (self):
-        return "tabs.html"
-
-    # see Composite.py for the details of template_env, that exposes global
-    # 'sons' as a list of sons with each a set of a few attributes
-    def json_settings_list (self):
-        return []
-
-    def export_json_settings(self):
-        return True
diff --git a/plugins/updater/WARNING b/plugins/updater/WARNING
deleted file mode 100644 (file)
index 9e0494c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-This plugin was an early attempt at implementing the widget that would
-. actually gather pending changes
-. and have an 'Update' button so as to post them
-However this work has been put on hold and is currently not used in real apps.
diff --git a/plugins/updater/__init__.py b/plugins/updater/__init__.py
deleted file mode 100644 (file)
index 2f68b41..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-from unfold.plugin import Plugin
-
-class Updater (Plugin):
-
-    def __init__ (self, query, label="Update", **settings):
-        Plugin.__init__ (self, **settings)
-        self.query=query
-        if query.action != "get": print "Updater on non-get query: ",query.action
-        self.label=label
-
-    def template_file (self):
-        return "updater.html"
-
-    def requirements (self):
-        return {
-            'js_files' :  [ "js/updater.js" , "js/manifold.js", "js/manifold-query.js", 
-                            "js/spin.presets.js", "js/spin.min.js", "js/jquery.spin.js",
-                            "js/Math.uuid.js",
-                            ],
-            'css_files' : "css/updater.css",
-            }
-
-    # although this has no query, we need a plugin instance to be created in the js output
-    def export_json_settings (self):     return True
-    # the js plugin expects a domid
-    def json_settings_list (self):       return [ 'plugin_uuid', 'query_uuid', ]
-
-    # and we don't need a spin wheel 
-    def start_with_spin (self):          return False
-
-    def default_togglable (self):        return False
diff --git a/plugins/updater/static/css/updater.css b/plugins/updater/static/css/updater.css
deleted file mode 100644 (file)
index 34345ab..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-input.updater {
-    margin: 10px;
-}
diff --git a/plugins/updater/static/js/updater.js b/plugins/updater/static/js/updater.js
deleted file mode 100644 (file)
index 7ff9b8a..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/**
- * Description: Manage query updates
- * Copyright (c) 2012-2013 UPMC Sorbonne Universite - INRIA
- * License: GPLv3
- */
-
-(function( $ ) {
-    
-    var debug=false;
-//    debug=true
-
-    var Updater = Plugin.extend({
-
-        init: function(options, element)
-        {
-            this._super(options, element);
-            
-            this.listen_query(options.query_uuid);
-        },
-
-        
-        /*************************** PLUGIN EVENTS ****************************/
-
-        /***************************** GUI EVENTS *****************************/
-
-        arm_button: function()
-        {
-               this.elmt('updater').click(this, this.submit_update_request);
-        },
-
-        submit_update_request: function (e) 
-        {
-            var self = e.data;
-
-            manifold.raise_event(self.options.query_uuid, RUN_UPDATE);
-
-        },
-
-        /************************** GUI MANIPULATION **************************/
-
-        disable_update_button: function()
-        {
-            this.elmt('updater').attr('disabled', 'disabled');
-        },
-
-        /*************************** QUERY HANDLER ****************************/
-
-        /*************************** RECORD HANDLER ***************************/
-
-        /************************** PRIVATE METHODS ***************************/
-
-        /******************************** TODO ********************************/
-
-        /*
-           query_failed: function (e, code, output) 
-        {
-            var plugindiv=e.data;
-            var updater=plugindiv.data('Updater');
-                $('#updater-' + updater.options.plugin_uuid).removeAttr('disabled');
-            // just as a means to deom how to retrieve the stuff passed on the channel
-            if (debug)
-                messages.debug("retrieved error code " + code + " and output " + output);
-       },
-           
-        update_resources: function (e, resources, change)
-        {
-                data = e.data.instance.data().Slices;
-
-                data.update_query.params['resource'] = resources
-                $.publish('/update/' + data.options.query_uuid, [data.update_query, true]);
-        },
-
-        update_leases: function (e, leases, change) 
-        {
-            data = e.data.instance.data().Slices;
-            
-            data.update_query.params['lease'] = leases
-            $.publish('/update/' + data.options.query_uuid, [data.update_query, true]);
-        },
-        
-        query_completed: function (e, rows, query)
-        {
-
-            // This function is called twice : get and update 
-            messages.info("updater.query_completed - not implemented yet");
-            return;
-          
-            var data = e.data.instance.data().Slices;
-          
-            // Update placeholders and trigger subqueries updates 
-            if (rows.length == 0) {
-            alert("no result");
-            return;
-            }
-            var slice = rows[0];
-          
-            // for get
-            if (data.update_query == null) {
-                data.update_query = new Query('update','slice', 'now', query.filter, {"resource": null, "lease": null}, query.fields, 0, data.options.query_uuid);
-            }
-            // In case of update the list of resources and leases should be updated accordingly
-          
-            // only for get ?
-            $.each(slice, function(key, value) {
-            if (typeof value == 'string') {
-                $('#myslice__' + key).html(value);
-            }
-            });
-          
-            // TODO avoid repetitions + made this code generic and plugin-independent 
-            
-            if (query.method == 'update') {
-                // XXX NON, les uuid doivent etre les memes que dans la query Get, cet appel devrait etre fait avant.
-                query.analyzed_subqueries();
-            }
-          
-            // NOTE: Dans le cadre d'un update, on n'a pas besoin de refaire tout
-            // le query plan et obtenir toutes les infos, par contre on ne peut pas
-            // savoir d'avance quels parametres ont Ã©té accordés, changés, etc.
-            // Dans le cas général, ca pourrait affecter le query plan...
-            // Par contre on n'a pas d'information sur toutes les resources, mais
-            // uniquement celles dans la liste. Comment gérer ?
-            
-            // Inform child plugins about their respective parts of the results 
-            // Only for get 
-            var r_subq = query.analyzed_query.subqueries['resource'];
-            var l_subq = query.analyzed_query.subqueries['lease'];
-            $.publish('/results/' + r_subq.uuid + '/changed', [slice['resource'], r_subq]);
-            $.publish('/results/' + l_subq.uuid + '/changed', [slice['lease'],    l_subq]);
-            
-            // Subscribe to get notifications from child plugins
-            if (!data.child_subscribe) {
-                $.subscribe('/update-set/' + r_subq.uuid, {instance: e.data.instance}, update_resources);
-                $.subscribe('/update-set/' + l_subq.uuid, {instance: e.data.instance}, update_leases);
-                data.child_subscribe = true
-            }
-            
-        }
-        */
-    });
-
-    $.plugin('Updater', Updater);
-
-})( jQuery );
diff --git a/plugins/updater/templates/updater.html b/plugins/updater/templates/updater.html
deleted file mode 100644 (file)
index 798b17a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<input id="{{domid}}__updater" class="updater" type=button value="{{ label }}" />
diff --git a/plugins/wizard/templates/test.html b/plugins/wizard/templates/test.html
deleted file mode 100644 (file)
index 7e8ba91..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-<table align="center" border="0" cellpadding="0" cellspacing="0">
-
-
-<tr><td> 
-
-
-<!-- Smart Wizard -->
-
-
-               <div id="wizard_test" class="swMain">
-
-
-                       <ul class='anchor'>
-
-
-                               <li><a href="#step-1">
-
-
-                <label class="stepNumber">1</label>
-
-
-                <span class="stepDesc">
-
-
-                   Step 1<br />
-
-
-                   <small>Step 1 description</small>
-
-
-                </span>
-
-
-            </a></li>
-
-
-                               <li><a href="#step-2">
-
-
-                <label class="stepNumber">2</label>
-
-
-                <span class="stepDesc">
-
-
-                   Step 2<br />
-
-
-                   <small>Step 2 description</small>
-
-
-                </span>
-
-
-            </a></li>
-
-
-                               <li><a href="#step-3">
-
-
-                <label class="stepNumber">3</label>
-
-
-                <span class="stepDesc">
-
-
-                   Step 3<br />
-
-
-                   <small>Step 3 description</small>
-
-
-                </span>                   
-
-
-             </a></li>
-
-
-                               <li><a href="#step-4">
-
-
-                <label class="stepNumber">4</label>
-
-
-                <span class="stepDesc">
-
-
-                   Step 4<br />
-
-
-                   <small>Step 4 description</small>
-
-
-                </span>                   
-
-
-            </a></li>
-
-
-                       </ul>
-
-
-                       <div id="step-1">       
-
-
-            <h2 class="StepTitle">Step 1 Content</h2>
-
-
-            <ul type="disk">
-
-
-                                   <li>List 1</li>
-
-
-                                   <li>List 2</li>
-
-
-            </ul>
-
-
-            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>                               
-
-
-        </div>
-
-
-                       <div id="step-2">
-
-
-            <h2 class="StepTitle">Step 2 Content</h2>  
-
-
-            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p> 
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>          
-
-
-        </div>                      
-
-
-                       <div id="step-3">
-
-
-            <h2 class="StepTitle">Step 3 Content</h2>  
-
-
-            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>                                                         
-
-
-        </div>
-
-
-                       <div id="step-4">
-
-
-            <h2 class="StepTitle">Step 4 Content</h2>  
-
-
-            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>
-
-
-            <p>
-
-
-            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
-
-
-            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
-
-
-            quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-
-
-            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
-
-
-            Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-            </p>                                       
-
-
-        </div>
-
-
-               </div>
-
-
-<!-- End SmartWizard Content -->               
-
-
-               
-
-
-</td></tr>
-
-
-</table>
-
-
index d5f85e9..5bc30ca 100644 (file)
@@ -1,4 +1,4 @@
-from portal.templateviews               import LoginRequiredAutoLogoutView
+from views.loginrequired                import LoginRequiredAutoLogoutView
 #
 from manifold.core.query                import Query
 from manifold.manifoldapi               import execute_query
index 961b7dc..1a05359 100644 (file)
@@ -1,9 +1,9 @@
-from manifold.core.query        import Query
-from unfold.page                import Page
+from manifold.core.query         import Query
+from unfold.page                 import Page
 
 from plugins.lists.simplelist    import SimpleList
 
-from portal.templateviews       import LoginRequiredAutoLogoutView
+from views.loginrequired         import LoginRequiredAutoLogoutView
 
 from myslice.viewutils           import topmenu_items, the_user
 
index fb01240..592bc93 100644 (file)
@@ -12,6 +12,7 @@ from myslice.config import Config
 
 class HomeView (View):
 
+    # expose this so we can mention the backend URL on the welcome page
     def default_env (self):
         return { 
                  'manifold_url':Config.manifold_url,
index e85d44f..30a0ed3 100644 (file)
@@ -1,6 +1,6 @@
 import os.path, re
 
-from django.core.mail            import send_mail
+from django.core.mail           import send_mail
 
 from django.views.generic       import View
 from django.template.loader     import render_to_string
index 85faad8..c921986 100644 (file)
@@ -8,7 +8,7 @@ from manifold.manifoldapi        import execute_query
 from portal.models               import PendingSlice
 from portal.actions              import authority_get_pi_emails
 from portal.forms                import SliceRequestForm
-from portal.templateviews        import LoginRequiredAutoLogoutView
+from views.loginrequired         import LoginRequiredAutoLogoutView
 from myslice.viewutils           import topmenu_items, the_user
 
 class SliceRequestView (LoginRequiredAutoLogoutView):
index 24567f3..5e8ddf9 100644 (file)
@@ -1,26 +1,25 @@
 from django.template                 import RequestContext
 from django.shortcuts                import render_to_response
 
-from portal.templateviews            import LoginRequiredAutoLogoutView
+from views.loginrequired             import LoginRequiredAutoLogoutView
 
 from unfold.page                     import Page
 from manifold.core.query             import Query, AnalyzedQuery
 
 from myslice.viewutils               import topmenu_items, the_user
 
-from plugins.raw.raw                 import Raw
-from plugins.stack.stack             import Stack
-from plugins.tabs.tabs               import Tabs
+from plugins.raw                     import Raw
+from plugins.stack                   import Stack
+from plugins.tabs                    import Tabs
 from plugins.hazelnut                import Hazelnut 
 from plugins.resources_selected      import ResourcesSelected
-from plugins.googlemap              import GoogleMap
+from plugins.googlemap               import GoogleMap
 from plugins.senslabmap.senslabmap   import SensLabMap
-from plugins.querycode.querycode     import QueryCode
+from plugins.querycode               import QueryCode
 from plugins.query_editor            import QueryEditor
 from plugins.active_filters          import ActiveFilters
-from plugins.quickfilter.quickfilter import QuickFilter
-from plugins.messages.messages       import Messages
-#from plugins.updater                 import Updater
+from plugins.quickfilter             import QuickFilter
+from plugins.messages                import Messages
 
 tmp_default_slice='ple.upmc.myslicedemo'
 
index e996477..20bc15f 100644 (file)
@@ -11,10 +11,10 @@ from unfold.page import Page
 from manifold.core.query import Query
 #from manifold.manifoldquery import ManifoldQuery
 
-from plugins.stack.stack import Stack
+from plugins.stack import Stack
 from plugins.lists.slicelist import SliceList
-from plugins.querycode.querycode import QueryCode
-from plugins.quickfilter.quickfilter import QuickFilter
+from plugins.querycode import QueryCode
+from plugins.quickfilter import QuickFilter
 
 from trash.trashutils  import quickfilter_criterias
 
index 5440a14..366c131 100644 (file)
@@ -10,15 +10,14 @@ from django.contrib.auth.decorators     import login_required
 from unfold.page                        import Page
 from manifold.core.query                import Query
 
-from plugins.stack.stack                import Stack
-from plugins.tabs.tabs                  import Tabs
+from plugins.stack                      import Stack
+from plugins.tabs                       import Tabs
 from plugins.lists.staticlist           import StaticList
-from plugins.quickfilter.quickfilter    import QuickFilter
-from plugins.querycode.querycode        import QueryCode
-from plugins.raw.raw                    import Raw
-from plugins.messages.messages          import Messages
+from plugins.quickfilter                import QuickFilter
+from plugins.querycode                  import QueryCode
+from plugins.raw                        import Raw
+from plugins.messages                   import Messages
 from plugins.hazelnut                   import Hazelnut
-from plugins.updater                    import Updater
 
 from myslice.viewutils                  import topmenu_items, the_user
 from trash.trashutils                  import hard_wired_slice_names, hard_wired_list, lorem_p, lorem, quickfilter_criterias
@@ -47,14 +46,6 @@ def test_plugin_view (request):
         togglable=True,
         domid='stack',
         sons=[ \
-# this updater thing never made it to production                
-#            Updater (
-#                    page=page,
-#                    title="Won't show up as non togglable",
-#                    query=main_query,
-#                    label="Update me",
-#                    domid="the-updater",
-#                ),
         # make sure the 2 things work together
             Messages (
                     page=page,
@@ -64,7 +55,7 @@ def test_plugin_view (request):
                     ),
             Hazelnut (
                     page=page,
-                    title="Slice %s - checkboxes interacting w/ updater"%slicename,
+                    title="Slice %s - checkboxes"%slicename,
                     query=main_query,
                     domid="hazelnut",
                     checkboxes=True,