allura-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From brond...@apache.org
Subject allura git commit: [#8093] POC of responsive override of complex admin page
Date Thu, 25 Oct 2018 18:02:41 GMT
Repository: allura
Updated Branches:
  refs/heads/master f98ae842b -> c18dc226a


[#8093] POC of responsive override of complex admin page


Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/c18dc226
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/c18dc226
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/c18dc226

Branch: refs/heads/master
Commit: c18dc226a0ee8ae164c7cbd6295a685c67bbf764
Parents: f98ae84
Author: Kenton Taylor <ktaylor@slashdotmedia.com>
Authored: Tue Oct 23 18:53:18 2018 +0000
Committer: Dave Brondsema <dbrondsema@slashdotmedia.com>
Committed: Thu Oct 25 18:01:02 2018 +0000

----------------------------------------------------------------------
 .../ext/admin/templates/project_overview.html   |   1 +
 .../templates/admin_widgets/metadata_admin.html | 202 +++++++++++++++++++
 2 files changed, 203 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/allura/blob/c18dc226/Allura/allura/ext/admin/templates/project_overview.html
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/admin/templates/project_overview.html b/Allura/allura/ext/admin/templates/project_overview.html
index 93686ef..4f81d66 100644
--- a/Allura/allura/ext/admin/templates/project_overview.html
+++ b/Allura/allura/ext/admin/templates/project_overview.html
@@ -18,6 +18,7 @@
 -#}
 {% extends g.theme.master %}
 
+
 {% block title %}{{c.project.name}} / Metadata{% endblock %}
 
 {% block header %}Project Admin{% endblock %}

http://git-wip-us.apache.org/repos/asf/allura/blob/c18dc226/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html
b/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html
new file mode 100644
index 0000000..f1e0df0
--- /dev/null
+++ b/Allura/allura/templates_responsive/override/allura/ext/admin/templates/admin_widgets/metadata_admin.html
@@ -0,0 +1,202 @@
+{#-
+       Licensed to the Apache Software Foundation (ASF) under one
+       or more contributor license agreements.  See the NOTICE file
+       distributed with this work for additional information
+       regarding copyright ownership.  The ASF licenses this file
+       to you under the Apache License, Version 2.0 (the
+       "License"); you may not use this file except in compliance
+       with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+       Unless required by applicable law or agreed to in writing,
+       software distributed under the License is distributed on an
+       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+       KIND, either express or implied.  See the License for the
+       specific language governing permissions and limitations
+       under the License.
+-#}
+{% import 'allura:templates/jinja_master/lib.html' as lib with context %}
+
+
+<form method="POST" action="update" enctype="multipart/form-data" id="metadata_form" class="row
align-justify">
+  <div class="column small-12 medium-6">
+    {%if not c.project.is_user_project %}
+        <div class="field">
+        {{ widget.display_label(widget.fields.name) }}
+        {{ widget.display_field(widget.fields.name) }}
+        </div>
+        <div class="field">
+            <label for="shortname">Unixname</label>
+            <input id="shortname" type="text" disabled="disabled" value="{{c.project.shortname}}">
+        </div>
+
+        <div class="field">
+        {{ widget.display_label(widget.fields.external_homepage) }}
+        {{widget.display_field(widget.fields.external_homepage) }}
+        </div>
+
+        <div class="field">
+        {{ widget.display_label(widget.fields.video_url) }}
+        {{widget.display_field(widget.fields.video_url) }}
+        </div>
+    {% endif %}
+
+
+
+    <div class="summary-fields field">
+        {{ widget.display_label(widget.fields.summary) }}
+        {{widget.display_field(widget.fields.summary) }}
+        <br>
+    </div>
+
+    {% if not c.project.is_user_project %}
+        <div class="description-fields field">
+        {{ widget.display_label(widget.fields.short_description) }}
+        {{ widget.display_field(widget.fields.short_description) }}
+        </div>
+
+        <div id="features" class="new-visual-group">
+          {{ widget.display_label(widget.fields.features) }}
+          {{ widget.display_field(widget.fields.features) }}
+        </div>
+
+        {% if tg.config.get('support_tool_choices') %}
+        <div class="support-page-fields new-visual-group">
+            Preferred Support Page (for users of your project):<br>
+            {% if c.form_errors.get('support_page_url') %}
+                <div class="error">{{c.form_errors.get('support_page_url')}}</div>
+            {% endif %}
+
+            <input name="support_page" type="radio" value=""{% if value.support_page ==
'' %} checked{% endif %} id="support_page_none">
+            <label for="support_page_none">None</label><br>
+            {% for ac in c.project.app_configs %}
+              {% if ac.tool_name.lower() in tg.config['support_tool_choices'].split() %}
+                <input name="support_page" type="radio" value="{{ac.options.mount_point}}"
id="support_page_{{ac.options.mount_point}}"
+                       {% if value.support_page == ac.options.mount_point %} checked{% endif
%}>
+                <label for="support_page_{{ac.options.mount_point}}">{{ac.options.mount_label}}</label><br>
+              {% endif %}
+            {% endfor %}
+
+            <input name="support_page" type="radio" value="_members" {% if value.support_page
== '_members' %} checked{% endif %} id="support_page_members">
+            <label for="support_page_members">Contact project admins</label><br>
+            <input name="support_page" type="radio" value="_url" id="support_page_url_cb"
+                   {% if value.support_page == '_url' %} checked{% endif %}>
+            <label for="support_page_url_cb">URL: </label>
+            <input type="text" name="support_page_url" value="{{value.support_page_url}}"
style="width: 70%"><br>
+        </div>
+        {% endif %}
+
+        <div class="social-media-fields new-visual-group">
+            <div class="field">
+                {{ widget.display_label(widget.fields.twitter_handle) }}
+                {{widget.display_field(widget.fields.twitter_handle) }}
+            </div>
+
+            <div class="field">
+            {{ widget.display_label(widget.fields.facebook_page) }}
+            {{widget.display_field(widget.fields.facebook_page) }}
+            </div>
+        </div>
+
+        {% if c.project.neighborhood.features['google_analytics'] %}
+        <div class="field new-visual-group">
+        {{ widget.display_label(widget.fields.tracking_id) }}
+        {{ widget.display_field(widget.fields.tracking_id) }}
+        </div>
+        {% endif %}
+    {% endif%}
+    {% block fields_column1_end -%}
+    {% endblock %}
+  </div>
+
+  <div class="column small-12 medium-5">
+    <label>Project Logo:</label>
+    <div id="project-icon" class="viewing">
+      {% if value.icon %}
+        <div class="viewer" style="overflow: auto">
+          <img {{ lib.project_icon_srcs(value) }} style="float:left; margin-right: 1em;"
alt="">
+          {{ g.icons['edit'].render(id='edit-icon', style='display:inline-block;margin-top:15px')
}}
+          {{ g.icons['delete'].render(id='delete-icon', style='display:inline-block;margin-top:15px')
}}
+        </div>
+      {% else %}
+        <div class="viewer">
+          No {% if c.project.is_user_project %}user{% endif %} icon.
+          {{ g.icons['edit'].render(id='edit-icon', title='Upload one', show_title=True)
}}
+        {% if c.project.is_user_project %}<br><small>
+            Or a  <a href="http://gravatar.com/">gravatar.com</a> image will
be used if available.</small>{% endif %}
+        </div>
+      {% endif %}
+      <div id="project-icon-upload" class="hidden">
+          {{widget.display_field(widget.fields.icon)}}
+          <input type="submit" value="Save" name="save" style="float: none" />
+          <br><small>(best if square & hi-res. JPG, GIF, or PNG files expected.)</small>
+      </div>
+    </div>
+
+    {%if c.project.neighborhood.name != 'Users' or not value.is_root%}
+    <div id="project-status">
+        {% set proj_text = 'Project' if value.is_root else 'Subproject' %}
+        {{proj_text}} Status:
+        <div>
+            {% if c.form_errors.get('moved_to_url') %}
+                <div class="error">{{c.form_errors.get('moved_to_url')}}</div>
+            {% endif %}
+            <input name="removal" type="radio" value="" id="removal_active_cb"
+                   {% if value.removal == '' %} checked{% endif %}>
+            <label for="removal_active_cb">Active {{proj_text}}</label>
+            <br>
+            <input name="removal" type="radio" value="moved" id="removal_moved_cb"
+                   {% if value.removal == 'moved' %} checked{% endif %}>
+            <label for="removal_moved_cb">Moved {{proj_text}} to: </label>
+            <input type="text" name="moved_to_url" value="{{value.moved_to_url}}" style="width:
60%" placeholder="http://new-website.com/example">
+            <br>
+            <input name="removal" type="radio" value="abandoned" id="removal_abandoned_cb"
+                   {% if value.removal == 'abandoned' %} checked{% endif %}>
+            <label for="removal_abandoned_cb">Abandoned {{proj_text}}</label>
+            {% if allow_project_delete or not value.is_root %}
+            <br>
+            <input name="removal" type="radio" value="deleted" id="removal_delete_cb"
+                   {% if value.removal == 'deleted' %} checked{% endif %}>
+            <label for="removal_delete_cb">Delete{% if value.removal == 'deleted' %}d{%
endif %} {{proj_text}}</label>
+            {% endif %}
+            {% block status_choices_end -%}
+            {% endblock %}
+        </div>
+    </div>
+    {% endif%}
+
+    {% if show_export_control %}
+    <div id="export_control" class="new-visual-group">
+      <label for="export_controlled">Export Control: <small><a href="#" id="why_export">Why?</a></small></label>
+      <br>
+      <input id="export_controlled" name="export_controlled" type="checkbox" value="True"
+             {% if value.export_controlled == True %} checked{% endif %}> This project
incorporates, accesses, calls upon or otherwise uses encryption software with a symmetric
key length greater than 64 bits ("encryption"). This review does not include products that
use encryption for authentication only.<br>
+      <div id="export_details" style="margin-left: 1em;{% if value.export_controlled ==
False %} display:none;{% endif %}">
+        <label>
+          <input name="export_control_type" type="radio" value="less_than_10"
+               {% if value.export_control_type == "less_than_10" %} checked{% endif %}>
This Project has less than 10% U.S.-origin parts or components.<br>
+        </label>
+        <label>
+          <input name="export_control_type" type="radio" value="less_than_25"
+               {% if value.export_control_type == "less_than_25" %} checked{% endif %}>
This Project has more than 10% but less than 25% U.S.-origin parts or components.<br>
+        </label>
+        <label>
+          <input id="export_restricted" name="export_control_type" type="radio" value="more_than_25"
+               {% if value.export_control_type == "more_than_25" %} checked{% endif %}>
This Project has more than 25% U.S-origin parts or components.<br>
+        </label>
+      </div>
+      <div id="export_warning" class="notice"{% if value.export_controlled == False or
value.export_control_type == "less_than_10" or value.export_control_type == "less_than_25"
%} style="display:none"{% endif %}>You must notify BIS and the ENC Encryption Request Coordinator
via e-mail of the Internet location (e.g., URL or Internet address) of the publicly available
encryption source code or provide each of them a copy of the publicly available encryption
source code. If you update or modify the source code, you must also provide additional copies
to each of them each time the cryptographic functionality of the source code is updated or
modified. In addition, if you posted the source code on the Internet, you must notify BIS
and the ENC Encryption Request Coordinator each time the Internet location is changed, but
you are not required to notify them of updates or modifications made to the encryption source
code at the previously notified location. In all instances, submit the notif
 ication or copy to <a href="mailto:crypt@bis.doc.gov">crypt@bis.doc.gov</a> and
to <a href="mailto:enc@nsa.gov">enc@nsa.gov</a>.</div>
+    </div>
+    {% endif %}
+
+  </div>
+  <hr class="column small-12" style="margin-top: 1em; margin-bottom: 1em;">
+  <div class="column small-12">
+    <input type="submit" value="Save">
+  </div>
+  {{lib.csrf_token()}}
+</form>
+
+{% block extra_css %}
+{% endblock %}


Mime
View raw message