diff --git a/LICENSE.txt b/LICENSE.txt
index 69978e57efb..23e45c00eae 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -17,4 +17,9 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Some icons found in Galaxy are from the Silk Icons set, available under
+the Creative Commons Attribution 2.5 License, from:
+
+http://www.famfamfam.com/lab/icons/silk/
diff --git a/datatypes_conf.xml.sample b/datatypes_conf.xml.sample
index 7db33f2e7d7..23974aab8b6 100644
--- a/datatypes_conf.xml.sample
+++ b/datatypes_conf.xml.sample
@@ -140,6 +140,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-%def>
\ No newline at end of file
+%def>
diff --git a/templates/base_panels.mako b/templates/base_panels.mako
index 29a2dee470e..08516467652 100644
--- a/templates/base_panels.mako
+++ b/templates/base_panels.mako
@@ -1,6 +1,18 @@
## This needs to be on the first line, otherwise IE6 goes into quirks mode
+<%
+ self.has_left_panel=True
+ self.has_right_panel=True
+ self.message_box_visible=False
+ self.message_box_class=""
+ self.active_view=None
+%>
+
+<%def name="init()">
+ ## Override
+%def>
+
## Default title
<%def name="title()">Galaxy%def>
@@ -8,14 +20,30 @@
<%def name="stylesheets()">
+
%def>
## Default javascripts
<%def name="javascripts()">
-
+
%def>
## Default late-load javascripts
@@ -27,45 +55,69 @@
%def>
-
+
## Masthead
<%def name="masthead()">
-
+
+%def>
+
+## Messagebox
+<%def name="message_box_content()">
%def>
## Document
+
+ ${self.init()}
+
- ${self.title()}
- ${self.javascripts()}
- ${self.stylesheets()}
+ ${self.title()}
+ ${self.javascripts()}
+ ${self.stylesheets()}
- ## Background displays first
-
- ## Layer iframes over backgrounds
-
- ${self.masthead()}
-
-
- ${self.left_panel()}
-
-
-
- ${self.center_panel()}
-
-
-
- ${self.right_panel()}
-
+ ## Background displays first
+
+ ## Layer iframes over backgrounds
+
+ %endif
## Allow other body level elements
- ${next.body()}
+ ${next.body()}
## Scripts can be loaded later since they progressively add features to
## the panels, but do not change layout
diff --git a/templates/dataset/copy_view.mako b/templates/dataset/copy_view.mako
index 97c932bac32..ba4f265ce43 100644
--- a/templates/dataset/copy_view.mako
+++ b/templates/dataset/copy_view.mako
@@ -25,7 +25,7 @@
if data.id in source_dataset_ids:
checked = " checked"
%>
-
This dataset is accessible by everyone (it is public).
+ %endif
-
-
- This will change the datatype of the existing dataset
- but not modify its contents. Use this if Galaxy
- has incorrectly guessed the type of your dataset.
-
-
-
-
-
-
-
-
-
-
-
-
-
Copy History Item
-
- Click here to make a copy of this history item.
-
-
-
+
+
+%endif
diff --git a/templates/dataset/security_common.mako b/templates/dataset/security_common.mako
new file mode 100644
index 00000000000..234e8b0a369
--- /dev/null
+++ b/templates/dataset/security_common.mako
@@ -0,0 +1,85 @@
+<%def name="render_select( current_actions, action_key, action, all_roles )">
+ <%
+ in_roles = []
+ for a in current_actions:
+ if a.action == action.action:
+ in_roles.append( a.role )
+ out_roles = filter( lambda x: x not in in_roles, all_roles )
+ %>
+
diff --git a/templates/history/permissions.mako b/templates/history/permissions.mako
new file mode 100644
index 00000000000..a189523440d
--- /dev/null
+++ b/templates/history/permissions.mako
@@ -0,0 +1,7 @@
+<%inherit file="/base.mako"/>
+<%def name="title()">Change Default Permissions on New Datasets in This History%def>
+<%namespace file="/dataset/security_common.mako" import="render_permission_form" />
+
+%if trans.user:
+ ${render_permission_form( trans.history, trans.history.name, h.url_for(), 'id', None, trans.user.all_roles() )}
+%endif
diff --git a/templates/history/share.mako b/templates/history/share.mako
index 5e64e66756a..8728587cb45 100644
--- a/templates/history/share.mako
+++ b/templates/history/share.mako
@@ -1,6 +1,7 @@
<%inherit file="/base.mako"/>
<%def name="title()">Share histories%def>
+%if not can_change and not cannot_change:
Share Histories
@@ -27,4 +28,90 @@
-
\ No newline at end of file
+
+%else:
+
+
+ %for history in histories:
+
+ %endfor
+
+
+ The history or histories you've chosen to share contain datasets that the user you're sharing with does not have permission to access. These datasets are shown below. Datasets which the user already has permission to access are not shown.
+
+
+ %if can_change:
+
+ The following datasets can be shared with ${email} by updating their permissions:
+
+
+
Histories
Datasets
+ %for history, datasets in can_change.items():
+
+
${history.name}
+
+ %for dataset in datasets:
+ ${dataset.name}
+ %endfor
+
+
+ %endfor
+
+
+
+ %endif
+ %if cannot_change:
+
+ The following datasets cannot be shared with ${email} because you do not have permission to change the permissions on them.
+
+
+
Histories
Datasets
+ %for history, datasets in cannot_change.items():
+
+
${history.name}
+
+ %for dataset in datasets:
+ ${dataset.name}
+ %endfor
+
+
+ %endfor
+
+
+
+ %endif
+
+ How would you like to proceed?
+
+ %if can_change:
+ Set datasets above to public access
+ %if cannot_change:
+ (where possible)
+ %endif
+
+ Set datasets above to private access for me and the user(s) with whom I am sharing
+ %if cannot_change:
+ (where possible)
+ %endif
+
+ %endif
+ Share anyway
+ %if can_change:
+ (don't change any permissions)
+ %endif
+
+ Don't share
+
+
+
%def>
@@ -13,7 +28,9 @@
## If a specific tool id was specified, load it in the middle frame
<%
- if tool_id is not None:
+ if trans.app.config.require_login and not trans.user:
+ center_url = h.url_for( controller='user', action='login' )
+ elif tool_id is not None:
center_url = h.url_for( 'tool_runner', tool_id=tool_id, from_noframe=True )
elif m_c is not None:
center_url = h.url_for( controller=m_c, action=m_a )
@@ -29,12 +46,12 @@
-%def>
\ No newline at end of file
+%def>
diff --git a/templates/root/masthead.mako b/templates/root/masthead.mako
index 58d8f1776db..270d9f59d3c 100644
--- a/templates/root/masthead.mako
+++ b/templates/root/masthead.mako
@@ -9,32 +9,65 @@
-
+
+
Galaxy${brand}
-
- Info: report bugs
- | wiki
- | screencasts
- | blog
+ %if not app.config.require_login or ( app.config.require_login and trans.user):
+ View:
+ analysis
+ | workflow
+ %if admin_user == "true":
+ | admin
+ %endif
+
+
+
+ %endif
+
+ Info: report bugs
+ | wiki
+ | screencasts
+
+
%if app.config.use_remote_user:
Logged in as ${t.user.email}
%else:
%if t.user:
- Logged in as ${t.user.email}: manage
- | logout
+ Logged in as ${t.user.email}: manage
+ %if app.config.require_login:
+ | logout
+ %else:
+ | logout
+ %endif
%else:
- Account: create
- | login
+ Account:
+ %if app.config.allow_user_creation:
+ create |
+ %endif
+ login
%endif
%endif
+
diff --git a/templates/root/tool_menu.mako b/templates/root/tool_menu.mako
index c2d77210905..04af8526c4c 100644
--- a/templates/root/tool_menu.mako
+++ b/templates/root/tool_menu.mako
@@ -110,4 +110,4 @@
-
\ No newline at end of file
+