diff options
author | lxf <sng@luxagraf.net> | 2021-11-06 09:42:47 -0400 |
---|---|---|
committer | lxf <sng@luxagraf.net> | 2021-11-06 09:42:47 -0400 |
commit | d9f51299809bfb6b3ac589b7c42016d0ef240299 (patch) | |
tree | aa5f945e82fdbf1b66aca82fe5122f6ff5a12eb9 /templates/admin | |
parent | dde9914dbbc6cda18ba59024065727c8dc6bcdf4 (diff) |
moved templates to top level directory
Diffstat (limited to 'templates/admin')
-rw-r--r-- | templates/admin/base.html | 102 | ||||
-rw-r--r-- | templates/admin/birds/birdsighting/change_form.html | 135 | ||||
-rw-r--r-- | templates/admin/buttons.html | 63 | ||||
-rw-r--r-- | templates/admin/ccg_notes/change_form.html | 152 | ||||
-rw-r--r-- | templates/admin/income/monthly.html | 57 | ||||
-rw-r--r-- | templates/admin/income_month.html | 159 | ||||
-rw-r--r-- | templates/admin/index.html | 174 | ||||
-rw-r--r-- | templates/admin/insert_images.html | 127 | ||||
-rw-r--r-- | templates/admin/insert_products.html | 82 | ||||
-rwxr-xr-x | templates/admin/links/link/change_form.html | 138 | ||||
-rw-r--r-- | templates/admin/message.html | 20 | ||||
-rw-r--r-- | templates/admin/pages/change_form.html | 141 | ||||
-rw-r--r-- | templates/admin/photos/luxgallery/change_form.html | 135 | ||||
-rw-r--r-- | templates/admin/save_link.html | 123 | ||||
-rw-r--r-- | templates/admin/upload_zip.html | 57 |
15 files changed, 1665 insertions, 0 deletions
diff --git a/templates/admin/base.html b/templates/admin/base.html new file mode 100644 index 0000000..fd468f1 --- /dev/null +++ b/templates/admin/base.html @@ -0,0 +1,102 @@ +{% load i18n static %}<!DOCTYPE html> +{% get_current_language as LANGUAGE_CODE %}{% get_current_language_bidi as LANGUAGE_BIDI %} +<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}> +<head> +<title>{% block title %}{% endblock %}</title> +<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" /> +{% block extrastyle %}{% endblock %} +{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/css/rtl.css" %}{% endblock %}" />{% endif %} +{% block extrahead %}{% endblock %} +{% block responsive %} + <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"> + <link rel="stylesheet" type="text/css" href="{% static "admin/css/responsive.css" %}" /> +<style> +@media (max-width: 1024px) { + textarea { + max-height: unset; + } +} +</style> + {% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% static "admin/css/responsive_rtl.css" %}" />{% endif %} +{% endblock %} +{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %} +</head> +{% load i18n %} + +<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}" + data-admin-utc-offset="{% now "Z" %}"> + +<!-- Container --> +<div id="container"> + + {% if not is_popup %} + <!-- Header --> + <div id="header"> + <div id="branding"> + {% block branding %}{% endblock %} + </div> + {% block usertools %} + {% if has_permission %} + <div id="user-tools"> + {% block welcome-msg %} + {% trans 'Welcome,' %} + <strong>{% firstof user.get_short_name user.get_username %}</strong>. + {% endblock %} + {% block userlinks %} + {% if site_url %} + <a href="{{ site_url }}">{% trans 'View site' %}</a> / + {% endif %} + {% if user.is_active and user.is_staff %} + {% url 'django-admindocs-docroot' as docsroot %} + {% if docsroot %} + <a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / + {% endif %} + {% endif %} + {% if user.has_usable_password %} + <a href="{% url 'admin:password_change' %}">{% trans 'Change password' %}</a> / + {% endif %} + <a href="{% url 'admin:logout' %}">{% trans 'Log out' %}</a> + {% endblock %} + </div> + {% endif %} + {% endblock %} + {% block nav-global %}{% endblock %} + </div> + <!-- END Header --> + {% block breadcrumbs %} + <div class="breadcrumbs"> + <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> + {% if title %} › {{ title }}{% endif %} + </div> + {% endblock %} + {% endif %} + + {% block messages %} + {% if messages %} + <ul class="messagelist">{% for message in messages %} + <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message|capfirst }}</li> + {% endfor %}</ul> + {% endif %} + {% endblock messages %} + <div class="homepage-flex"> + <!-- Content --> + <div id="content" class="{% block coltype %}colM{% endblock %} flex-left"> + {% block pretitle %}{% endblock %} + {% block content_title %}{% if title %}<h1>{{ title }}</h1>{% endif %}{% endblock %} + {% block content %} + {% block object-tools %}{% endblock %} + {{ content }} + {% endblock %} + {% block sidebar %}{% endblock %} + <br class="clear" /> + </div> + {% block adminembed %}{% endblock %} + <!-- END Content --> + </div> + + {% block footer %}<div id="footer"></div>{% endblock %} +</div> +<!-- END Container --> + +</body> +</html> diff --git a/templates/admin/birds/birdsighting/change_form.html b/templates/admin/birds/birdsighting/change_form.html new file mode 100644 index 0000000..31c9914 --- /dev/null +++ b/templates/admin/birds/birdsighting/change_form.html @@ -0,0 +1,135 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls admin_static admin_modify %} + +{% block extrahead %}{{ block.super }} +<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> +{{ media }} +<script> +if (!$) { + $ = django.jQuery; +} +$(function(){ + $('#id_images').css('width', '500px').css('height', '400px'); + $('#id_images option').each(function(){ + $(this).attr('style', 'background: url('+$(this).text().split("qq")[1]+') no-repeat; background-size: 120px 80px; height: 80px; padding-left: 125px; line-height: 80px; margin-bottom: 4px; padding-bottom: 5px;border-bottom: #eee 1px solid;'); + $(this).html($(this).text().split("qq")[0] + ' – <a href="/admin/photos/luximage/'+ $(this).text().split("qq")[2]+'/change/">edit</a>') + }); +}); +</script> + +{% endblock %} + +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} +› {% if add %}{% trans 'Add' %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} +</div> +{% endblock %} +{% endif %} + +{% block content %}<div id="content-main"> +{% block object-tools %} +{% if change %}{% if not is_popup %} + <ul class="object-tools"> + {% block object-tools-items %} + <li> + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + <a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif %} + {% endblock %} + </ul> +{% endif %}{% endif %} +{% endblock %} +<form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form" novalidate>{% csrf_token %}{% block form_top %}{% endblock %} +<div> +{% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1" />{% endif %} +{% if to_field %}<input type="hidden" name="{{ to_field_var }}" value="{{ to_field }}" />{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} + <p class="errornote"> + {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> + {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + <script type="text/javascript"> + (function($) { + $(document).ready(function() { + $('.add-another').click(function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + $('.related-lookup').click(function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + + {% if adminform and add %} + $('form#{{ opts.model_name }}_form :input:visible:enabled:first').focus() + {% endif %} + }); + })(django.jQuery); + </script> +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +</div> +</form></div> +{% endblock %} diff --git a/templates/admin/buttons.html b/templates/admin/buttons.html new file mode 100644 index 0000000..fbfa400 --- /dev/null +++ b/templates/admin/buttons.html @@ -0,0 +1,63 @@ +<style> + .cust { + margin-top: 8px; + margin-bottom: 16px; + } + .item { + display: block; + float: none !important; + margin-left: 8px; + margin-top: 6px; + color: #444; + overflow: visible !important; + } + .item a { + text-transform: uppercase; + min-width: 180px; + font-size: 90%; + position: relative; + display: inline-block; + margin: 0px; + padding: 7px 5px; + height: 32px; + -moz-box-sizing: border-box; + cursor: pointer; + overflow: hidden; + vertical-align: top; + color: rgb(255, 255, 255); + background: #79aec8; + } +</style> + + <div class="module" id="recent-actions-module"> + <div class="grp-module" id="grp-recent-actions-module"> + <h2>Publish Site</h2> + {% if message %} + <ul class="messagelist"> + <li style="font-weight: bold; color: red;">{{message}}...</li> + </ul> + {%endif%} + <div class="grp-module"> + <ul class="grp-listing-small cust"> + <li class="item"><a href="/admin/build/build?id=builddetails">Build Writing Details</a></li> + <li class="item"><a href="/admin/build/build?id=writingarchives">Build Writing Archives</a></li> + <li class="item"><a href="/admin/build/build?id=homepage">Build Homepage</a></li> + <li class="item"><a href="/admin/build/build?id=sitemap">Build Sitemap</a></li> + <li class="item"><a href="/admin/build/build?id=buildrss">Build RSS</a></li> + <li class="item"><a href="/admin/build/build?id=range">Build Range</a></li> + <li class="item"><a href="/admin/build/build?id=guide">Build Guide</a></li> + <li class="item"><a href="/admin/build/build?id=pages">Build Pages</a></li> + <li class="item"><a href="/admin/build/build?id=discursivepages">Build Discursive Pages</a></li> + <li class="item"><a href="/admin/build/build?id=fieldnotes">Build FieldNotes</a></li> + <li class="item"><a href="/admin/build/build?id=essays">Build Essays</a></li> + <li class="item"><a href="/admin/build/build?id=buildbooks">Build Books</a></li> + <li class="item"><a href="/admin/build/build?id=buildsightings">Build Dialogues</a></li> + <li class="item"><a href="/admin/build/build?id=pubs">Build Publications</a></li> + <li class="item"><a href="/admin/build/build?id=resume">Build Resume</a></li> + <li class="item"><a href="/admin/build/build?id=src">Build src</a></li> + <li class="item"><a href="/admin/build/build?id=srcrss">Build src RSS</a></li> + </ul> + </div> + </div> + </div> + diff --git a/templates/admin/ccg_notes/change_form.html b/templates/admin/ccg_notes/change_form.html new file mode 100644 index 0000000..a240f90 --- /dev/null +++ b/templates/admin/ccg_notes/change_form.html @@ -0,0 +1,152 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls admin_static admin_modify %} + +{% block extrahead %}{{ block.super }} +<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> +{{ media }} +<script> +if (!$) { + $ = django.jQuery; +} +$(function(){ + $('#id_body_markdown').each(function(){ + $(this).after('<iframe frameborder="0" style="border: #dddddd 1px solid;margin-left: 20px;width:330px; height:340px;" src="/luximages/insert/?textarea='+this.id+'"></iframe>'); + }); + $('#id_images').css('width', '500px').css('height', '400px'); + $('#id_images option').each(function(){ + $(this).attr('style', 'background: url('+$(this).text().split("qq")[1]+') no-repeat; background-size: 120px 80px; height: 80px; padding-left: 125px; line-height: 80px; margin-bottom: 4px; padding-bottom: 5px;border-bottom: #eee 1px solid;'); + $(this).html($(this).text().split("qq")[0] + ' – <a href="/admin/photos/luximage/'+ $(this).text().split("qq")[2]+'/change/">edit</a>') + }); +}); +</script> + +{% endblock %} + +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} +› {% if add %}{% trans 'Add' %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} +</div> +{% endblock %} +{% endif %} + +{% block content %} + <a class="btn" onclick="geoFindMe();" href="javascript:void(0);" class="historylink">Get Location</a> +<div id="content-main"> +{% block object-tools %} +{% if change %}{% if not is_popup %} + <ul class="object-tools"> + {% block object-tools-items %} + + <li> + <a onclick="geoFindMe();" href="javascript:void(0);" class="historylink">Get Location</a> + </li> + <li> + <a href="{% url opts|admin_urlname:'history' original.pk|admin_urlquote %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %} + <li> + <a href="{% url 'admin:view_on_site' content_type_id original.pk %}" class="viewsitelink">{% trans "View on site" %}</a> + </li> + {% endif %} + <li> + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + <a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif %} + {% endblock %} + </ul> +{% endif %}{% endif %} +{% endblock %} +<form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form" novalidate>{% csrf_token %}{% block form_top %}{% endblock %} +<div> +{% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1" />{% endif %} +{% if to_field %}<input type="hidden" name="{{ to_field_var }}" value="{{ to_field }}" />{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} + <p class="errornote"> + {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> + {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + <script type="text/javascript"> + (function($) { + $(document).ready(function() { + $('.add-another').click(function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + $('.related-lookup').click(function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + + {% if adminform and add %} + $('form#{{ opts.model_name }}_form :input:visible:enabled:first').focus() + {% endif %} + }); + })(django.jQuery); + </script> +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +</div> +</form></div> +{% endblock %} diff --git a/templates/admin/income/monthly.html b/templates/admin/income/monthly.html new file mode 100644 index 0000000..920d074 --- /dev/null +++ b/templates/admin/income/monthly.html @@ -0,0 +1,57 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls admin_static %} + +{% block breadcrumbs %} + <div class="breadcrumbs"> + <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> + › <a href="/admin/income/">Income</a> + › <a href="/admin/income/invoice/">Invoices</a> + › <a href="/admin/income/invoice/{{object.id}}/change/">{{object.title}}</a> + </div> +{% endblock %} +{% block content %} + +<h1>{% trans "EDR Invoice for the month of" %} {{object.title}}</h1> + + +<div style="float: left; width: 45%"> +<div class="results"> +<table id="result_list"> +<thead> +<tr> + +<th scope="col" class="sortable column-title"> + <div class="text"><a href="?o=1">Date</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Time Start</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Time Finish</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Total</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Work Done</a></div> + <div class="clear"></div> +</th> +</tr> +</thead> +<tbody> + + {% for object in object_list %} + <tr class="{% cycle 'row1' 'row2' %}"><th class="field-title"><a href="/admin/income/invoiceitem/{{object.id}}/change/">{{object.time_start|date:"M d"}}</a></th><td class="field-status">{{object.time_start|date:"h:i"}}</td><td class="field-payment_status">{{object.time_end|date:"h:i"}}</td><td class="field-pub_date nowrap">{{object.total}}-{{object.rounded_total}}</td><td class="field-payment_status">{{object.work_done}}</td></tr> +{% endfor %} +<tr class="row2"><th class="field-title"> </th><td class="field-status"></td><td class="field-payment_status"></td><td class="field-pub_date nowrap"></td></tr> <tr class="row2"><th class="field-title">Total Hours:</th><td class="field-status">{{total_hours}}</td><td class="field-payment_status"></td><td class="field-pub_date nowrap"></td></tr> +<tr class="row2"><th class="field-title">Total Billed:</th><td class="field-status">${{total_billed}}</td><td class="field-payment_status"></td><td class="field-pub_date nowrap"></td></tr> +</tbody> +</table> +</div> +<p style="margin: 2rem 0; background: #79aec8; width: 120px; padding: 1rem;"><a style="color:white !important;" href="{% url 'download-invoice' object.slug %}">Generate Invoice</a></p> + +{% endblock %} diff --git a/templates/admin/income_month.html b/templates/admin/income_month.html new file mode 100644 index 0000000..125e435 --- /dev/null +++ b/templates/admin/income_month.html @@ -0,0 +1,159 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls admin_static %} + +{# Admin styling code largely taken from http://www.dmertl.com/blog/?p=116 #} + +{% block extrastyle %} + {{ block.super }} +<script type="text/javascript" src="/admin/jsi18n/"></script> +<script type="text/javascript" src="/static/admin/js/core.js"></script> +<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"></script> +<script type="text/javascript" src="/static/admin/js/jquery.js"></script> +<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script> +<script type="text/javascript" src="/static/admin/js/actions.js"></script> +<script type="text/javascript" src="/static/admin/js/calendar.js"></script> +<script type="text/javascript" src="/static/admin/js/admin/DateTimeShortcuts.js"></script> + <link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}"/> + <style> + .field-title {min-width: 200px;} + .results {margin-bottom: 4em;} + </style> +{% endblock %} + +{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} + +{% block breadcrumbs %} + <div class="breadcrumbs"> + <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> + › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ app_label|capfirst|escape }}</a> + › {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}"> + {{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} + › {% trans 'Income for' %} {{date|date:"F Y"}} + </div> +{% endblock %} + +{% block content_title %}{% endblock %} + +{% block content %} + +<h1>{% trans "Income for the month of" %} {{date|date:"F Y"}}</h1> +<h2>{% trans "Billed" %}</h2> + + +<div style="float: left; width: 45%"> +<div class="results"> +<table id="result_list"> +<thead> +<tr> + +<th scope="col" class="sortable column-title"> + <div class="text"><a href="?o=1">Title</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Amount</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Source</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Date Invoiced</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Expected Pay Date</a></div> + <div class="clear"></div> +</th> +</tr> +</thead> +<tbody> + +{% for gig in billed %} + +<tr class="{% cycle 'row1' 'row2' %}"><th class="field-title"><a href="/admin/income/gig/{{gig.pk}}/">{{gig.title}}</a></th><td class="field-status">${{gig.payment}}</td><td class="field-payment_status">{{gig.publisher}}</td><td class="field-pub_date nowrap">{{gig.invoice_date|date:"M d, Y"}}</td><td class="field-payment_status">{{gig.get_pay_date|date:"M d, Y"}}</td></tr> +{%endfor%} +<tr class="row2"><th class="field-title"> </th><td class="field-status"></td><td class="field-payment_status"></td><td class="field-pub_date nowrap"></td></tr> +<tr class="row2"><th class="field-title">Total Billed:</th><td class="field-status">${{billed_total.total_payment}}</td><td class="field-payment_status"></td><td class="field-pub_date nowrap"></td></tr> +</tbody> +</table> +</div> + +<h2>{% trans "Unbilled" %}</h2> +<div class="results"> +<table id="result_list_2"> +<thead> +<tr> + +<th scope="col" class="sortable column-title"> + <div class="text"><a href="?o=1">Title</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Amount</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Source</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Article status</a></div> + <div class="clear"></div> +</th> +</tr> +</thead> +<tbody> + +{% for gig in unbilled %} + +<tr class="{% cycle 'row1' 'row2' %}"><th class="field-title"><a href="/admin/income/gig/{{gig.pk}}/">{{gig.title}}</a></th><td class="field-status">${{gig.payment}}</td><td class="field-payment_status">{{gig.publisher}}</td><td class="field-pub_date nowrap">{{gig.get_status_display}}</td></tr> +{%endfor%} +<tr class="row2"><th class="field-title"> </th><td class="field-status"></td><td class="field-payment_status"></td><td class="field-pub_date nowrap"></td></tr> +<tr class="row2"><th class="field-title">Total Billed:</th><td class="field-status">${{unbilled_total.total_payment}}</td><td class="field-payment_status"></td><td class="field-pub_date nowrap"></td></tr> +</tbody> +</table> +</div> +<h2>{% trans "Total Outstanding:" %} ${{total_outstanding.total_payment}}</h2> +<h4 style="margin-top: 3em;">Also have these stories pitched, but not accepted</h4> +<div class="results"> +<table id="result_list_2"> +<thead> +<tr> + +<th scope="col" class="sortable column-title"> + <div class="text"><a href="?o=1">Title</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Amount</a></div> + <div class="clear"></div> +</th> +<th scope="col" class="sortable column-status"> + <div class="text"><a href="?o=5">Source</a></div> + <div class="clear"></div> +</th> +</tr> +</thead> +<tbody> + +{% for gig in pitched %} + +<tr class="{% cycle 'row1' 'row2' %}"><th class="field-title">{{gig.title}}</th><td class="field-status">${{gig.payment}}</td><td class="field-payment_status">{{gig.publisher}}</td></tr> +{%endfor%} +</tbody> +</table> +</div> + +<h2>{% trans "" %} {% with total_outstanding.total_payment|add:"-2000" as underover %}{% if underover > 0 %}${{underover}} more than budget{%else%}Need to generate another ${{underover|cut:"-"}} to cover expenses{%endif%}{%endwith%}</h2> + +</div> + +<div style="float:left; margin-left: 4em;"> +<h3>{% trans "Income by Month" %}</h3> +<ul>{% for month in months %} +<li><a href="?m={{month|date:"Y-m"|slugify}}">{{month|date:"F Y"}}</a></li> +{%endfor%}</ul> +</div> +{% endblock %} diff --git a/templates/admin/index.html b/templates/admin/index.html new file mode 100644 index 0000000..78ada5b --- /dev/null +++ b/templates/admin/index.html @@ -0,0 +1,174 @@ +{% extends "admin/base_site.html" %} +{% load admin_list static i18n %} + +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/dashboard.css" %}" /> +<style> +.module caption { + padding: 5px; +} +td, th { + font-size: 12px; + padding: 5px 8px; +} +.module { + margin-bottom: 20px; +} +.homepage-flex { + display: flex; + flex-direction: row; +} +.flex-right{ + width: 84%; + margin-top: 5.5rem; +} +.flex-left { + width: 15% +} +.faux-btns { + margin: 0; + padding: 0; + list-style-type: none; +} +.faux-btns li { + display: inline-block; + margin-right: .6rem; +} +.colMS { + margin-right: 0; +} +</style> +{% endblock %} + +{% block coltype %}colMS{% endblock %} + +{% block bodyclass %}dashboard{% endblock %} + +{% block breadcrumbs %}{% endblock %} + +{% block content %} +<div id="content-main"> + <ul class="faux-btns"> + <li><a href="https://awstats.luxagraf.net/cgi-bin/awstats.pl?config=luxagraf.net" target="_blank">lxf awstats</a></li> + <li><a href="https://stats.luxagraf.net/" target="_blank">lxf stats</a></li> + <li><a href="/admin/build/build?id=buildbooks">Build Books</a></li> + <li><a href="/admin/build/build?id=pubs">Build Publications</a></li> + <li><a href="/admin/build/build?id=resume">Build Resume</a></li> + </ul> +{% if app_list %} + <div class="module"> + <table> + <caption><a href="{{ app.app_url }}" class="section" title="{% blocktrans with name=app.name %}Models in the {{ name }} application{% endblocktrans %}">Frequently Used</a></caption> + <tr> + <th scope="row"><a href="/admin/django_comments/comment/">moderate comments</a></th> + <td> </td> + <td><a href="/admin/build/build?id=builddetails">Build JrnlDetails</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/posts/post/">posts</a></th> + <td><a href="/admin/posts/post/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=writingarchives">Build JrnlArc</a></td> + </tr> + <th scope="row"><a href="/admin/media/luximage/">images</a></th> + <td><a href="/admin/media/luximage/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=homepage">Build Homepage</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/lttr/newslettermailing/">newsletter mailings</a></th> + <td><a href="/admin/lttr/newslettermailing/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=sitemap">Build Sitemap</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/sightings/sighting/">sightings</a></th> + <td><a href="/admin/sightings/sighting/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=buildrss">Build Jrnl RSS</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/locations/luxcheckin/">check ins</a></th> + <td><a href="/admin/locations/checkin/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=range">Build Range</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/locations/location/">locations</a></th> + <td><a href="/admin/locations/location/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=friends">Build Friends</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/sightings/ap/">dialogue</a></th> + <td><a href="/admin/sightings/ap/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=src">Build src</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/locations/campsite/">campsite</a></th> + <td><a href="/admin/locations/campsite/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=pages">Build Pages</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/pages/homepage/1/change/">homepage</a></th> + <td><a href="/admin/locations/homepage/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=essays">Build Essays</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/lttr/subscriber/">subscribers</a></th> + <td><a href="/admin/lttr/subscriber/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=buildsightings">Build Dialogues</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/pages/page/">pages</a></th> + <td><a href="/admin/pages/page/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=fieldnotes">Build FieldNotes</a></td> + </tr> + <tr> + <th scope="row"><a href="/admin/links/link/">link</a></th> + <td><a href="/admin/links/link/add/" class="addlink">Add</a></td> + <td><a href="/admin/build/build?id=discursivepages">Build Discursive Pages</a></td> + </tr> + </table> + </div> + {% for app in app_list %} + <div class="module"> + <table> + <caption> + <a href="{{ app.app_url }}" class="section" title="{% blocktrans with name=app.name %}Models in the {{ name }} application{% endblocktrans %}"> + {% blocktrans with name=app.name %}{{ name }}{% endblocktrans %} + </a> + </caption> + {% for model in app.models %} + <tr> + {% if model.admin_url %} + <th scope="row"><a href="{{ model.admin_url }}">{{ model.name }}</a></th> + {% else %} + <th scope="row">{{ model.name }}</th> + {% endif %} + + {% if model.add_url %} + <td><a href="{{ model.add_url }}" class="addlink">{% trans 'Add' %}</a></td> + {% else %} + <td> </td> + {% endif %} + + {% if model.admin_url %} + <td><a href="{{ model.admin_url }}" class="changelink">{% trans 'Change' %}</a></td> + {% else %} + <td> </td> + {% endif %} + </tr> + {% if model.name == "Gigs"%} + <tr> <th scope="row"><a href="{{ model.admin_url }}monthly/">Income for month</a></th></tr> + {% endif %} + {% endfor %} + </table> + </div> + {% endfor %} +{% else %} + <p>{% trans "You don't have permission to edit anything." %}</p> +{% endif %} +</div> +{% endblock %} + +{% block sidebar %} +{% endblock %} +{% block adminembed %} +<div class="flex-right"> + <!--<iframe style="border:none;width:98%;height: 40%" src="https://awstats.luxagraf.net/cgi-bin/awstats.pl?config=luxagraf.net&framename=mainright"></iframe>--> +</div> +{% endblock %} diff --git a/templates/admin/insert_images.html b/templates/admin/insert_images.html new file mode 100644 index 0000000..feaa88f --- /dev/null +++ b/templates/admin/insert_images.html @@ -0,0 +1,127 @@ +{% load get_image_by_size %} +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<head> +<style> +.item-wrapper { + display: flex; + flex-wrap: wrap; + margin-bottom: 6px; + font-family: sans-serif; + font-size: 11px; + padding: 6px 0 4px; + border-top: #ccc 1px solid; +} +.item { margin: 0;} +.item img { margin: 0 0 4px 0;} +figure { + max-width: 180px; +} +.actions { + list-style-type: none; + margin: 0 0 0 10px; + padding: 0; +} +.actions li { + margin: 3px 0; +} +.actions a { + color: #666; +} +</style> +</head> +<body> + <input type="button" value="Refresh" onClick="window.location.reload()"> + <button id="add_id_image" onClick="window.parent.open('/admin/media/luximage/add/?_to_field=id&_popup=1')">Upload Image + <img src="/static/admin/img/icon-addlink.svg" alt="Add"> + </button> + <div class="up-wrapper">{% for object in object_list %} + <div class="item-wrapper images"> + {% if object.get_type != "Audio" %} + <figure class="item" > + <img src="{% if object.get_type == "LuxImage" %}{% get_image_by_size object 'tn' %}{%else%}{{object.video_poster.url}}" style="max-width: 150px{%endif%}" /> + <figcaption>{{object.id}} {% if object.caption %}– {{object.caption}}{%endif%}</figcaption> + </figure> + <ul class="actions">{%if object.get_type == "LuxVideo" %} + <li><a data-is-video="true" data-video-mp4="{{object.video_mp4.url}}" data-video-webm="{{object.video_webm.url}}" data-id="{{object.id}}" data-class="vid" data-poster="{{object.video_poster.url}}" data-ytlink="{{object.youtube_url}}" onclick="insertImage(this);return false;" class="insert" href="#">Insert video</a>{%else%}{% get_image_by_size object 'admin_insert' as tn %} + <li><a data-src="{{tn}}" data-id="{{object.id}}" data-class="picwide" onclick="insertImage(this);return false;" href="#" >full width</a></li> + <li><a data-src="{{tn}}" data-id="{{object.id}}" data-class="picwide" data-caption="true" onclick="insertImage(this);return false;" href="#">full width cap</a></li> + <li><a data-src="{{tn}}" data-id="{{object.id}}" data-class="cluster pic66" onclick="insertImage(this);return false;" href="#">cluster</a></li> + <li><a data-src="{{tn}}" data-id="{{object.id}}" data-class="picfull" onclick="insertImage(this);return false;" href="#">column width</a></li> + <li><a data-src="{{tn}}" data-id="{{object.id}}" data-class="picfull" data-caption="true" onclick="insertImage(this);return false;" href="#">column width cap</a></li> + <li><a onclick='openInNewTab("/admin/medij/luximage/{{object.pk}}/change/");' href="#">Edit Image</a></li>{%endif%} + </ul> + {% else %} + <figure class="item" > + <img src="/media/img/audio_icon.png" style="max-width: 50px" /> + </figure> + <ul class="actions"> + <li><a data-is-audio="true" data-mp3="{{object.mp3.url}}" data-ogg="{{object.ogg.url}}" data-id="{{object.id}}" data-class="audio" onclick="insertImage(this);return false;" class="insert" href="#">Insert audio</a> + <li><a onclick='openInNewTab("/admin/recordings/audio/{{object.pk}}/change/");' href="#">Edit Recording</a></li> + </ul> + {% endif %} + </div> +{% endfor %} +</div> + +<!-- "next page" action --> +<a class="nextPage browse right"></a> +<script> +function buildVideo(video_mp4, video_webm, id, c, poster, ytlink) { + html = '<div class="self-embed-container">\n\t<video poster="'+poster+'" controls="true" loop="false" preload="auto" id="'+id+'" class="vidauto'; + if (c) { + html += c+'"'; + } else { + html += '"'; + } + html += '>\n\t\t<source src="'+video_webm+'" type="video/webm">\n'; + html += '\t\t<source src="'+video_mp4+'" type="video/mp4">\n'; + html += '\t\tYour browser does not support video playback via HTML5.\n\t</video>\n'; + html += '\t<a class="figcaption" href="'+ytlink+'">Watch on YouTube</a>\n</div>'; + return html; +} +function buildImage(image_url, id, c, caption) { + html = '<img src="'+image_url+'" id="image-'+id+'" class="'; + if (c) { + html += c; + } + if (caption) { + html += ' caption" />'; + } + else { + html += '" />'; + } + return html; +} +function buildAudio(audio_mp3, audio_ogg) { + html = '<audio controls="" preload="auto">\n\t<source src="'+audio_mp3+'">\n\t' + html += '<source src="'+audio_ogg+'">\n\t' + html += 'Sorry, your browser does not support audio in HTML\n</audio>' + return html; +} +function openInNewTab(url) { + var win = window.open(url, '_blank'); + win.focus(); + return false; +} +function insertImage(item) { + if (item.dataset.isVideo) { + var code = buildVideo(item.dataset.videoMp4, item.dataset.videoWebm, item.dataset.id, item.dataset.class, item.dataset.poster, item.dataset.ytlink); + } else if (item.dataset.isAudio) { + var code = buildAudio(item.dataset.mp3, item.dataset.ogg); + } else { + var code = buildImage(item.dataset.src, item.dataset.id, item.dataset.class, item.dataset.caption); + } + var el = parent.document.getElementById('{{textarea_id}}'); + var start = el.selectionStart; + var end = el.selectionEnd; + var text = el.value; + var before = text.substring(0, start); + var after = text.substring(end, text.length); + el.value = (before + code + after); + el.selectionStart = el.selectionEnd = start + code.length; + el.focus(); +} +</script> +</body> +</html> diff --git a/templates/admin/insert_products.html b/templates/admin/insert_products.html new file mode 100644 index 0000000..b38389e --- /dev/null +++ b/templates/admin/insert_products.html @@ -0,0 +1,82 @@ +{% load get_image_by_size %} +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<head> +<style> +.item-wrapper { + display: flex; + flex-wrap: wrap; + margin-bottom: 6px; + font-family: sans-serif; + font-size: 11px; + padding: 6px 0 4px; + border-top: #ccc 1px solid; +} +.item { } +.item img { margin: 0 0 4px 0;} +h5 { + max-width: 180px; + font-size: 18px; + line-height: 22px; + margin: 12px; +} +.actions { + list-style-type: none; + margin: 0 0 0 10px; + padding: 0; +} +.actions li { + margin: 3px 0; +} +.actions a { + color: #666; +} +</style> +<script> +function buildImage(id, prod_name) { + html = '<div id="product-'+id+'">'+prod_name+'</div>'; + return html; +} +function openInNewTab(url) { + var win = window.open(url, '_blank'); + win.focus(); + return false; +} +</script> +</head> +<body> + <input type="button" value="Refresh" onClick="window.location.reload()"> + <button id="add_id_image" onClick="window.parent.open('/admin/products/product/add/?_to_field=id&_popup=1')">Add Product + <img src="/static/admin/img/icon-addlink.svg" alt="Add"> + </button> + <div class="up-wrapper">{% for object in object_list %} + <div class="item-wrapper images"> + <h5 class="item" > + {{object.get_full_name}} + </h5> + <ul class="actions"> + <li><a data-id="{{object.id}}" data-name="{{object.get_full_name}}" onclick="insertProduct(this);return false;" href="#" >Insert Product</a></li> + <li><a onclick='openInNewTab("/admin/photos/luximage/{{object.pk}}/change/");' href="#">Edit Image</a></li> + </ul> + </div> +{% endfor %} +</div> + +<!-- "next page" action --> +<a class="nextPage browse right"></a> +<script> +function insertProduct(item) { + var code = buildImage(item.dataset.id, item.dataset.name); + var el = parent.document.getElementById('{{textarea_id}}'); + var start = el.selectionStart; + var end = el.selectionEnd; + var text = el.value; + var before = text.substring(0, start); + var after = text.substring(end, text.length); + el.value = (before + code + after); + el.selectionStart = el.selectionEnd = start + code.length; + el.focus(); +} +</script> +</body> +</html> diff --git a/templates/admin/links/link/change_form.html b/templates/admin/links/link/change_form.html new file mode 100755 index 0000000..5a5753a --- /dev/null +++ b/templates/admin/links/link/change_form.html @@ -0,0 +1,138 @@ +{% extends "admin/base_site.html" %} +{% load get_image_by_size %} +{% load i18n admin_urls static admin_modify %} + +{% block extrahead %}{{ block.super }} +<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> +{{ media }} +<script type="text/javascript"> +function GetURLParameter(sParam){ + var sPageURL = window.location.search.substring(1); + var sURLVariables = sPageURL.split('&'); + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } +}; +var title = GetURLParameter('title'); +var description = GetURLParameter('description'); +var url = GetURLParameter('url'); +</script> +{% endblock %} + +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} +› {% if add %}{% trans 'Add' %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} +</div> +{% endblock %} +{% endif %} + +{% block content %}<div id="content-main"> +{% block object-tools %} +{% if change %}{% if not is_popup %} + <ul class="object-tools"> + {% block object-tools-items %} + <li> + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + <a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif %} + {% endblock %} + </ul> +{% endif %}{% endif %} +{% endblock %} +<form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form" novalidate>{% csrf_token %}{% block form_top %}{% endblock %} +<div> +{% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1" />{% endif %} +{% if to_field %}<input type="hidden" name="{{ to_field_var }}" value="{{ to_field }}" />{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} + <p class="errornote"> + {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> + {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + <script type="text/javascript"> + (function($) { + $(document).ready(function() { + $('.add-another').click(function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + $('.related-lookup').click(function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + + {% if adminform and add %} + $('form#{{ opts.model_name }}_form :input:visible:enabled:first').focus() + {% endif %} + }); + })(django.jQuery); + </script> +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +</div> +</form></div> +{% endblock %} diff --git a/templates/admin/message.html b/templates/admin/message.html new file mode 100644 index 0000000..348b15d --- /dev/null +++ b/templates/admin/message.html @@ -0,0 +1,20 @@ +{% extends 'admin/base_site.html' %} + +{% block content %} +{{message}}... <span style="color:red;" id="done"></span> +{% endblock %} + +{% block extrahead %} +<script type="text/javascript"> +function delayer(){ + console.log("function fired") + document.getElementById('done').innerHTML = 'done' + window.location = "/admin/" +} + +document.addEventListener("DOMContentLoaded", function(event) { + window.setTimeout(delayer, 1000); +}); +</script> +{% endblock %} + diff --git a/templates/admin/pages/change_form.html b/templates/admin/pages/change_form.html new file mode 100644 index 0000000..fcc9302 --- /dev/null +++ b/templates/admin/pages/change_form.html @@ -0,0 +1,141 @@ +{% extends "admin/base_site.html" %} +{% load admin_list static i18n admin_urls admin_modify %} +{% block extrahead %}{{ block.super }} +<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> +{{ media }} +<script> +if (!$) { + $ = django.jQuery; +} +</script> + +{% endblock %} + +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} +› {% if add %}{% trans 'Add' %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} +</div> +{% endblock %} +{% endif %} + +{% block content %} + <a class="btn" onclick="geoFindMe();" href="javascript:void(0);" class="historylink">Get Location</a> +<div id="content-main"> +{% block object-tools %} +{% if change %}{% if not is_popup %} + <ul class="object-tools"> + {% block object-tools-items %} + + <li> + <a onclick="geoFindMe();" href="javascript:void(0);" class="historylink">Get Location</a> + </li> + <li> + <a href="{% url opts|admin_urlname:'history' original.pk|admin_urlquote %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %} + <li> + <a href="{% url 'admin:view_on_site' content_type_id original.pk %}" class="viewsitelink">{% trans "View on site" %}</a> + </li> + {% endif %} + <li> + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + <a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif %} + {% endblock %} + </ul> +{% endif %}{% endif %} +{% endblock %} +<form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form" novalidate>{% csrf_token %}{% block form_top %}{% endblock %} +<div> +{% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1" />{% endif %} +{% if to_field %}<input type="hidden" name="{{ to_field_var }}" value="{{ to_field }}" />{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} + <p class="errornote"> + {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> + {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + <script type="text/javascript"> + (function($) { + $(document).ready(function() { + $('.add-another').click(function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + $('.related-lookup').click(function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + + {% if adminform and add %} + $('form#{{ opts.model_name }}_form :input:visible:enabled:first').focus() + {% endif %} + }); + })(django.jQuery); + </script> +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +</div> +</form></div> +{% endblock %} diff --git a/templates/admin/photos/luxgallery/change_form.html b/templates/admin/photos/luxgallery/change_form.html new file mode 100644 index 0000000..1cdfde0 --- /dev/null +++ b/templates/admin/photos/luxgallery/change_form.html @@ -0,0 +1,135 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls admin_static admin_modify %} + +{% block extrahead %}{{ block.super }} +<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> +{{ media }} +<script> +if (!$) { + $ = django.jQuery; +} +$(function(){ + $('#id_images').css('width', '500px').css('height', '400px'); + $('#id_images option').each(function(){ + $(this).attr('style', 'background: url('+$(this).text().split("qq")[1]+') no-repeat; background-size: 120px 80px; height: 80px; padding-left: 125px; line-height: 80px; margin-bottom: 4px; padding-bottom: 5px;border-bottom: #eee 1px solid;'); + $(this).html($(this).text().split("qq")[0] + ' – <a href="/admin/media/luximage/'+ $(this).text().split("qq")[2]+'/change/">edit</a>') + }); +}); +</script> + +{% endblock %} + +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} +› {% if add %}{% trans 'Add' %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} +</div> +{% endblock %} +{% endif %} + +{% block content %}<div id="content-main"> +{% block object-tools %} +{% if change %}{% if not is_popup %} + <ul class="object-tools"> + {% block object-tools-items %} + <li> + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + <a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif %} + {% endblock %} + </ul> +{% endif %}{% endif %} +{% endblock %} +<form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form" novalidate>{% csrf_token %}{% block form_top %}{% endblock %} +<div> +{% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1" />{% endif %} +{% if to_field %}<input type="hidden" name="{{ to_field_var }}" value="{{ to_field }}" />{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} + <p class="errornote"> + {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> + {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + <script type="text/javascript"> + (function($) { + $(document).ready(function() { + $('.add-another').click(function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + $('.related-lookup').click(function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + + {% if adminform and add %} + $('form#{{ opts.model_name }}_form :input:visible:enabled:first').focus() + {% endif %} + }); + })(django.jQuery); + </script> +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +</div> +</form></div> +{% endblock %} diff --git a/templates/admin/save_link.html b/templates/admin/save_link.html new file mode 100644 index 0000000..56047cd --- /dev/null +++ b/templates/admin/save_link.html @@ -0,0 +1,123 @@ +{% extends "admin/base_site.html" %} +{% load get_image_by_size %} +{% load i18n admin_urls admin_static admin_modify %} + +{% block extrahead %}{{ block.super }} +<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> +{{ media }} +{% endblock %} + +{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} +› {% if add %}{% trans 'Add' %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} +</div> +{% endblock %} +{% endif %} + +{% block content %}<div id="content-main"> +{% block object-tools %} +{% if change %}{% if not is_popup %} + <ul class="object-tools"> + {% block object-tools-items %} + <li> + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + <a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a> + </li> + {% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif %} + {% endblock %} + </ul> +{% endif %}{% endif %} +{% endblock %} +<form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.model_name }}_form" novalidate>{% csrf_token %}{% block form_top %}{% endblock %} +<div> +{% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1" />{% endif %} +{% if to_field %}<input type="hidden" name="{{ to_field_var }}" value="{{ to_field }}" />{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} + <p class="errornote"> + {% if errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> + {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + <script type="text/javascript"> + (function($) { + $(document).ready(function() { + $('.add-another').click(function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + $('.related-lookup').click(function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + + {% if adminform and add %} + $('form#{{ opts.model_name }}_form :input:visible:enabled:first').focus() + {% endif %} + }); + })(django.jQuery); + </script> +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +</div> +</form></div> +{% endblock %} diff --git a/templates/admin/upload_zip.html b/templates/admin/upload_zip.html new file mode 100644 index 0000000..2a5345a --- /dev/null +++ b/templates/admin/upload_zip.html @@ -0,0 +1,57 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls admin_static %} + +{# Admin styling code largely taken from http://www.dmertl.com/blog/?p=116 #} + +{% block extrastyle %} + {{ block.super }} +<script type="text/javascript" src="/admin/jsi18n/"></script> +<script type="text/javascript" src="/static/admin/js/core.js"></script> +<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"></script> +<script type="text/javascript" src="/static/admin/js/jquery.js"></script> +<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script> +<script type="text/javascript" src="/static/admin/js/actions.js"></script> +<script type="text/javascript" src="/static/admin/js/calendar.js"></script> +<script type="text/javascript" src="/static/admin/js/admin/DateTimeShortcuts.js"></script> + <link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}"/> +{% endblock %} + +{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} + +{% block breadcrumbs %} + <div class="breadcrumbs"> + <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> + › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ app_label|capfirst|escape }}</a> + › {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}"> + {{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} + › {% trans 'Upload' %} + </div> +{% endblock %} + +{% block content_title %}{% endblock %} + +{% block content %} + + <h1>{% trans "Upload a zip archive of photos" %}</h1> + + {% if form.errors %} + <p class="errornote"> + {% if form.errors|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %} + </p> + {{ form.non_field_errors }} + {% endif %} + + <form action="{% url 'admin:upload_zip' %}" method="post" id="zip_upload_form" + {% if form.is_multipart %}enctype="multipart/form-data"{% endif %}> + {% csrf_token %} + <div> + {% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" %} + {% endfor %} + </div> + <div class="submit-row"> + <input type="submit" value="{% trans 'Upload' %}" class="default"/> + </div> + </form> + +{% endblock %} |