From: Yasin Date: Mon, 23 Sep 2013 14:33:41 +0000 (+0200) Subject: Fix: merge conflict X-Git-Tag: myslice-0.2-4~50^2~1 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=937653fd70bbf7d95bcf870e7f2b46b4a8fec486;hp=460f78080696a2115f1ff4c01cfb9eaafd3f1b18;p=unfold.git Fix: merge conflict --- diff --git a/Makefile b/Makefile index 0cf14438..31ee234b 100644 --- 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 diff --git a/apache/myslice.conf b/apache/myslice.conf index a3d1d32b..8f3ff2ba 100644 --- a/apache/myslice.conf +++ b/apache/myslice.conf @@ -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/ - + Order deny,allow Allow from all diff --git a/debian/myslice.install b/debian/myslice.install index 03975ed3..5c36f726 100644 --- a/debian/myslice.install +++ b/debian/myslice.install @@ -1 +1 @@ -usr/share/unfold/plugins +usr/share/unfold/portal diff --git a/debian/unfold.install b/debian/unfold.install index 02fa3c55..24661e30 100644 --- a/debian/unfold.install +++ b/debian/unfold.install @@ -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 diff --git a/myslice.spec b/myslice.spec index e5c11115..1c7bf540 100644 --- a/myslice.spec +++ b/myslice.spec @@ -17,7 +17,8 @@ Packager: OpenLab 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 diff --git a/plugins/active_filters/templates/active_filters.html b/plugins/active_filters/templates/active_filters.html index 7fa3883f..24c48097 100644 --- a/plugins/active_filters/templates/active_filters.html +++ b/plugins/active_filters/templates/active_filters.html @@ -12,7 +12,7 @@ {% for filter in filters %}
{{filter.key}}__{{filter.op}}__{{filter.value}} - +
{% endfor %} diff --git a/plugins/messages/__init__.py b/plugins/messages/__init__.py index e69de29b..65baea15 100644 --- a/plugins/messages/__init__.py +++ b/plugins/messages/__init__.py @@ -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 index 65baea15..00000000 --- a/plugins/messages/messages.py +++ /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 diff --git a/plugins/pres_view/static/js/initmap.js b/plugins/pres_view/static/js/initmap.js index abd8bf1b..354564ea 100644 --- a/plugins/pres_view/static/js/initmap.js +++ b/plugins/pres_view/static/js/initmap.js @@ -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 diff --git a/plugins/pres_view/static/js/pres_view.js b/plugins/pres_view/static/js/pres_view.js index bd49c1cf..69879189 100644 --- a/plugins/pres_view/static/js/pres_view.js +++ b/plugins/pres_view/static/js/pres_view.js @@ -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({ diff --git a/plugins/querycode/__init__.py b/plugins/querycode/__init__.py index e69de29b..55da3e9c 100644 --- a/plugins/querycode/__init__.py +++ b/plugins/querycode/__init__.py @@ -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 index 55da3e9c..00000000 --- a/plugins/querycode/querycode.py +++ /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 diff --git a/plugins/quickfilter/__init__.py b/plugins/quickfilter/__init__.py index e69de29b..9ac95ae1 100644 --- a/plugins/quickfilter/__init__.py +++ b/plugins/quickfilter/__init__.py @@ -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 index 9ac95ae1..00000000 --- a/plugins/quickfilter/quickfilter.py +++ /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} diff --git a/plugins/raw/__init__.py b/plugins/raw/__init__.py index e69de29b..01f59e9f 100644 --- a/plugins/raw/__init__.py +++ b/plugins/raw/__init__.py @@ -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 index 01f59e9f..00000000 --- a/plugins/raw/raw.py +++ /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 diff --git a/plugins/stack/__init__.py b/plugins/stack/__init__.py index e69de29b..c8ddbea7 100644 --- a/plugins/stack/__init__.py +++ b/plugins/stack/__init__.py @@ -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 index c8ddbea7..00000000 --- a/plugins/stack/stack.py +++ /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 diff --git a/plugins/tabs/__init__.py b/plugins/tabs/__init__.py index e69de29b..6da94da1 100644 --- a/plugins/tabs/__init__.py +++ b/plugins/tabs/__init__.py @@ -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 index 6da94da1..00000000 --- a/plugins/tabs/tabs.py +++ /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 index 9e0494cc..00000000 --- a/plugins/updater/WARNING +++ /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 index 2f68b410..00000000 --- a/plugins/updater/__init__.py +++ /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 index 34345abd..00000000 --- a/plugins/updater/static/css/updater.css +++ /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 index 7ff9b8af..00000000 --- a/plugins/updater/static/js/updater.js +++ /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 index 798b17af..00000000 --- a/plugins/updater/templates/updater.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/plugins/wizard/templates/test.html b/plugins/wizard/templates/test.html deleted file mode 100644 index 7e8ba91b..00000000 --- a/plugins/wizard/templates/test.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - -
- - - - - -
- - - - - -
- - -

Step 1 Content

- - -
    - - -
  • List 1
  • - - -
  • List 2
  • - - -
- - -

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. - - -

- - -

- - - 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. - - -

- - -

- - - 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. - - -

- - -
- - -
- - -

Step 2 Content

- - -

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. - - -

- - -

- - - 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. - - -

- - -

- - - 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. - - -

- - -

- - - 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. - - -

- - -
- - -
- - -

Step 3 Content

- - -

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. - - -

- - -

- - - 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. - - -

- - -
- - -
- - -

Step 4 Content

- - -

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. - - -

- - -

- - - 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. - - -

- - -

- - - 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. - - -

- - -
- - -
- - - - - - - - -
- - diff --git a/portal/accountview.py b/portal/accountview.py index d5f85e97..5bc30ca9 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -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 diff --git a/portal/dashboardview.py b/portal/dashboardview.py index 961b7dcc..1a053591 100644 --- a/portal/dashboardview.py +++ b/portal/dashboardview.py @@ -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 diff --git a/portal/homeview.py b/portal/homeview.py index fb012402..592bc932 100644 --- a/portal/homeview.py +++ b/portal/homeview.py @@ -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, diff --git a/portal/registrationview.py b/portal/registrationview.py index e85d44ff..30a0ed39 100644 --- a/portal/registrationview.py +++ b/portal/registrationview.py @@ -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 diff --git a/portal/slicerequestview.py b/portal/slicerequestview.py index 85faad8d..c9219861 100644 --- a/portal/slicerequestview.py +++ b/portal/slicerequestview.py @@ -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): diff --git a/portal/sliceview.py b/portal/sliceview.py index 24567f38..5e8ddf9b 100644 --- a/portal/sliceview.py +++ b/portal/sliceview.py @@ -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' diff --git a/trash/dashboard.py b/trash/dashboard.py index e996477f..20bc15f7 100644 --- a/trash/dashboard.py +++ b/trash/dashboard.py @@ -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 diff --git a/trash/pluginview.py b/trash/pluginview.py index 5440a149..366c1310 100644 --- a/trash/pluginview.py +++ b/trash/pluginview.py @@ -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, diff --git a/portal/templateviews.py b/views/loginrequired.py similarity index 100% rename from portal/templateviews.py rename to views/loginrequired.py