[cc-commits] [SCM] cc.engine: License chooser, public domain chooser, deeds (branch master) updated. 70cfa64049c8ba6d16b10d62f9b7163a4ead424e
Gitosis User
git at gandi0.creativecommons.org
Thu Sep 1 11:01:44 EDT 2011
The branch, master has been updated
via 70cfa64049c8ba6d16b10d62f9b7163a4ead424e (commit)
via bbffaa34bede05b8f096f910c8d63c7fe6ee1402 (commit)
via 28e869893114378c47efecbafd7e2e5d007f9e7b (commit)
via 41123d4f3bbbb96cd1fc34b38a80394f2848c150 (commit)
via 94dec28fd614f2a14e4f94e1408ed0f1026f45b8 (commit)
via b2c6969ed4fb613f935df353fc006317d752a7a5 (commit)
via 3d3847f53b6ee14385bec77e8ce2e8f62547bbe6 (commit)
via 53dae2b49f26bca06b8ab5e0f6b9ae2a74f78103 (commit)
via 0460cc43870de74b0d348bf242ac841cef34243d (commit)
via 8f123eb70c03d3a62abe51e2a4c6234617edb67e (commit)
via 59b0a1fe9296693ee06b192eeda3830d5b2423e7 (commit)
via ca5544cead9d5eb55f39e367160d057005c39123 (commit)
via ead62f8fc367cf8c1fc3edb93df9cb5fdb0f1b6a (commit)
via f2a907679ce537bd742c518d3d40c7df46dedbbb (commit)
via e8c541c6795aa69cf5840b07abc550d5839e57d2 (commit)
via 8e1792ec65ed9afa6ebf8ad850ec6540bcff13a9 (commit)
via ec89c8e76593afdfa0a80a5a3ea57a8c9f837c97 (commit)
via a02ff6a9acc0bf5b18820b180b1088465477d76f (commit)
via 5453b3254804e185623266a7216884215428572e (commit)
via 568e8e0b5ea010c5feffcddd2d756aad9a6eca11 (commit)
via 8f7782ec23edc5381c9637bc313d7b01a10270e5 (commit)
via 5b0b74f110fff5d8f4e503f71629737903937054 (commit)
via 77e2a30b8fb96c076634a0dbe99b27d259ca8315 (commit)
via dae3d35d0f32b15cdfd189ceb4e16d89c10d3715 (commit)
via 7351f89b0617881bcade1c22c898ec12973dbaf8 (commit)
via 02d1f2a33ca7bcb3def7679b9172b3eb1e894d90 (commit)
via 89316f5dd52f8aaf6f3a31e2b12bfe7462ef02a3 (commit)
via 35744c8759a278aa8881385aafb12956a105b568 (commit)
via 753109cd2cccf640d6545e6670d991b653a48dc8 (commit)
via 0677e4d85c796a50e76f9f83cc02dfa91fe5d096 (commit)
via f17f787bdc3656f2270bee0716e622ade5387b7a (commit)
via dc87eb0db1300d080cb67a4ba5d832694d995eb9 (commit)
via f11f61aaf36f9ffb410834ee572856466ac03280 (commit)
via 0ad1f1d7c2ab4cf6b02560c966537a0ee037c769 (commit)
via df55cfd6d57eb2750e9703cee000017ebf1d0750 (commit)
via 7fb0ce4d0c2d355bebe67c1179098e88069dfd66 (commit)
via 51e89ba8ac4f63166d5b8619e1ce4f3452012366 (commit)
via 6cd43edbc9cedeccce2ec07004c5adc342d3eab1 (commit)
via 7c810d1ab50ffcabe0cd03fed8ad7bcbc43982c5 (commit)
via 57b3c28e0d48521589d73814c528a2f7893ddb3c (commit)
via 5e4b04e1dea47acd90187af9ba0c183b1989c8fb (commit)
via 81c4ffc0706ef1937055ffed438d0dad8af47c9e (commit)
via 4f5c0a784154cf875226e120513de27f264d5e07 (commit)
via 031920a90e54b8ec34137d5c7797e36b4a26274b (commit)
via 0dbbedad7c69744cfd6bc5a9b2e5e12dd5b8ad2c (commit)
via 1f4c6e94da7f55b486c6beac4d6d5271729cb9f3 (commit)
via 7a18f9c311899c82a1a083b5f6cb013feb69af58 (commit)
via 49845fdf59ee19e54d8adcad235dc0279a505298 (commit)
via e60d66b3afe4f97b54e0277ccd4e214ba1a5befc (commit)
via a6fd7af9c7a226bf7705191942733052e15fa924 (commit)
via eef8fb1c88e4842e1d278327d7a9de880aab453c (commit)
via 92107141f2a887a877a13b8a2f26fd43e29bac9d (commit)
via b029b591e66ac9c621923e9a7297fceedbd5d39a (commit)
via a50e3bf3a4863e356a2af4b91a6c202b9fafa703 (commit)
via 850be565c5b4cd3a53d21106bbd8e3878ecac729 (commit)
via 3fc1123e8898f8843f938eb2747aaa699a73974c (commit)
via 0a28cf78b56bf60f83987eba70d5351f27842507 (commit)
via 53988c4229ce9f6844b8f01a4f4a12b6df78e566 (commit)
via 10d2727ac9a02823df4ca04b7fc5474e89d5034a (commit)
via 15fc8d5d2c8ea2468615e8bc12dfbee6c73b421a (commit)
via c3f19ea114c10858395c97263a4b6f263dd8a521 (commit)
via 08114c76ea3277496e09dd8898d75cb676df1daa (commit)
via 24cd95f45f9b8f1bb9989234fd0c2a5943902091 (commit)
via c4fc89e845579ddaaff30865402250bfc3b3badc (commit)
via 580595737896337991f4809537b50a4bafb955e5 (commit)
via 59dc5f249908caf1a47e8c1bbf00797207d5ef6d (commit)
via 015ff0ecb90ed8195bb624cb28d2e6ad9574cfb7 (commit)
via 1461a5cbccdc927e402e45d43d1f433e8022520f (commit)
via 05a53fe6076ba480acd71a500acd27340bf5b591 (commit)
via ded026e10d71cfa38d6564a498cecf237195d835 (commit)
via dcdab1e6e2850606dc499cd516fb3fd06ae10e81 (commit)
via d88102148922450e96d0ccdf39ce5af35adcb650 (commit)
via df653899ed55c0c7f19952a07a62160e266b3f60 (commit)
via 35eebf7052f84027a8e9daa01e32f21347696e31 (commit)
via 1fe46ce965353515a6e8ba9332ce9c75eb84aabe (commit)
via 86037b74fd371ed14a1b3c80140989cf744531d1 (commit)
via 6a6c566ff1f5d4f7b15f7d2f544329e72c2d266e (commit)
via 79dcb5cd7f110edc146cd31957ac8214f2fe28e0 (commit)
via b70e54c8c7aee96e91be72cbaa7b3267b65d2ae6 (commit)
via 3f5bf28c3a1887ea267e31f1a1b8787337b92402 (commit)
from 0c4eddbc18b7a9cf2b400faaa37383b0485f4896 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 70cfa64049c8ba6d16b10d62f9b7163a4ead424e
Merge: 0c4eddb bbffaa3
Author: Christopher Allan Webber <cwebber at dustycloud.org>
Date: Thu Sep 1 10:02:42 2011 -0500
Merge branch 'next'
-----------------------------------------------------------------------
Summary of changes (followed by patch):
cc/engine/characteristic/views.py | 15 +-
cc/engine/chooser/views.py | 264 +++++++-------------
cc/engine/licenses/views.py | 87 +++----
cc/engine/templates/catalog_pages/404.html | 17 ++
.../templates/catalog_pages/license_catcher.html | 29 ++
.../templates/catalog_pages/licenses-index.html | 261 +++++++++++++++++++
cc/engine/templates/characteristic/by.html | 21 ++
cc/engine/templates/characteristic/nc.html | 21 ++
cc/engine/templates/characteristic/nd.html | 21 ++
cc/engine/templates/characteristic/sa.html | 21 ++
cc/engine/templates/chooser_pages/emailhtml.html | 14 +
cc/engine/templates/chooser_pages/htmlpopup.html | 49 ++++
cc/engine/templates/chooser_pages/index.html | 227 +++++++++++++++++
.../templates/chooser_pages/nonweb_popup.html | 31 +++
.../templates/chooser_pages/partner/index.html | 99 +++++++
.../templates/chooser_pages/partner/results.html | 17 ++
.../templates/chooser_pages/pdmark/details.html | 153 +++++++++++
.../templates/chooser_pages/pdmark/index.html | 86 +++++++
.../templates/chooser_pages/pdmark/partner.html | 29 ++
.../templates/chooser_pages/pdmark/results.html | 116 +++++++++
.../chooser_pages/publicdomain/publicdomain-2.html | 63 +++++
.../chooser_pages/publicdomain/publicdomain-3.html | 95 +++++++
.../chooser_pages/publicdomain/publicdomain-4.html | 45 ++++
cc/engine/templates/chooser_pages/results.html | 137 ++++++++++
.../templates/chooser_pages/zero/confirm.html | 67 +++++
cc/engine/templates/chooser_pages/zero/index.html | 83 ++++++
.../templates/chooser_pages/zero/partner.html | 25 ++
.../templates/chooser_pages/zero/results.html | 142 ++++++++++
cc/engine/templates/chooser_pages/zero/waiver.html | 181 +++++++++++++
cc/engine/templates/includes/engine_languages.html | 15 +
.../templates/includes/language_javascript.html | 12 +
cc/engine/templates/includes/more_metadata.html | 160 ++++++++++++
cc/engine/templates/includes/other_content.html | 8 +
cc/engine/templates/includes/translations.html | 16 ++
cc/engine/templates/licenses/devnations_deed.html | 79 ++++++
cc/engine/templates/licenses/pdmark_deed.html | 198 ++++++++++++++
.../templates/licenses/publicdomain_deed.html | 47 ++++
cc/engine/templates/licenses/sampling_deed.html | 87 +++++++
cc/engine/templates/licenses/standard_deed.html | 269 ++++++++++++++++++++
cc/engine/templates/licenses/zero_deed.html | 184 +++++++++++++
cc/engine/templates/macros_templates/deed.html | 166 ++++++++++++
.../macros_templates/{engine.pt => engine.html} | 81 ++++---
cc/engine/templates/macros_templates/partner.html | 47 ++++
.../templates/macros_templates/pdtool_deed.html | 125 +++++++++
cc/engine/templates/macros_templates/popup.html | 16 ++
cc/engine/templates/publicdomain/index.html | 43 +++
.../templates/test/{bunnies.pt => bunnies.html} | 11 +-
cc/engine/tests/test_jinja.py | 24 ++
cc/engine/tests/test_util.py | 6 +-
cc/engine/tests/test_views.py | 40 ++--
cc/engine/tests/test_zpt.py | 15 -
cc/engine/tests/view_tests.json | 16 +-
cc/engine/util.py | 83 ++++---
setup.py | 3 +-
54 files changed, 3805 insertions(+), 362 deletions(-)
create mode 100644 cc/engine/templates/catalog_pages/404.html
create mode 100644 cc/engine/templates/catalog_pages/license_catcher.html
create mode 100644 cc/engine/templates/catalog_pages/licenses-index.html
create mode 100644 cc/engine/templates/characteristic/by.html
create mode 100644 cc/engine/templates/characteristic/nc.html
create mode 100644 cc/engine/templates/characteristic/nd.html
create mode 100644 cc/engine/templates/characteristic/sa.html
create mode 100644 cc/engine/templates/chooser_pages/emailhtml.html
create mode 100644 cc/engine/templates/chooser_pages/htmlpopup.html
create mode 100644 cc/engine/templates/chooser_pages/index.html
create mode 100644 cc/engine/templates/chooser_pages/nonweb_popup.html
create mode 100644 cc/engine/templates/chooser_pages/partner/index.html
create mode 100644 cc/engine/templates/chooser_pages/partner/results.html
create mode 100644 cc/engine/templates/chooser_pages/pdmark/details.html
create mode 100644 cc/engine/templates/chooser_pages/pdmark/index.html
create mode 100644 cc/engine/templates/chooser_pages/pdmark/partner.html
create mode 100644 cc/engine/templates/chooser_pages/pdmark/results.html
create mode 100644 cc/engine/templates/chooser_pages/publicdomain/publicdomain-2.html
create mode 100644 cc/engine/templates/chooser_pages/publicdomain/publicdomain-3.html
create mode 100644 cc/engine/templates/chooser_pages/publicdomain/publicdomain-4.html
create mode 100644 cc/engine/templates/chooser_pages/results.html
create mode 100644 cc/engine/templates/chooser_pages/zero/confirm.html
create mode 100644 cc/engine/templates/chooser_pages/zero/index.html
create mode 100644 cc/engine/templates/chooser_pages/zero/partner.html
create mode 100644 cc/engine/templates/chooser_pages/zero/results.html
create mode 100644 cc/engine/templates/chooser_pages/zero/waiver.html
create mode 100644 cc/engine/templates/includes/engine_languages.html
create mode 100644 cc/engine/templates/includes/language_javascript.html
create mode 100644 cc/engine/templates/includes/more_metadata.html
create mode 100644 cc/engine/templates/includes/other_content.html
create mode 100644 cc/engine/templates/includes/translations.html
create mode 100644 cc/engine/templates/licenses/devnations_deed.html
create mode 100644 cc/engine/templates/licenses/pdmark_deed.html
create mode 100644 cc/engine/templates/licenses/publicdomain_deed.html
create mode 100644 cc/engine/templates/licenses/sampling_deed.html
create mode 100644 cc/engine/templates/licenses/standard_deed.html
create mode 100644 cc/engine/templates/licenses/zero_deed.html
create mode 100644 cc/engine/templates/macros_templates/deed.html
copy cc/engine/templates/macros_templates/{engine.pt => engine.html} (76%)
create mode 100644 cc/engine/templates/macros_templates/partner.html
create mode 100644 cc/engine/templates/macros_templates/pdtool_deed.html
create mode 100644 cc/engine/templates/macros_templates/popup.html
create mode 100644 cc/engine/templates/publicdomain/index.html
copy cc/engine/templates/test/{bunnies.pt => bunnies.html} (51%)
create mode 100644 cc/engine/tests/test_jinja.py
delete mode 100644 cc/engine/tests/test_zpt.py
diff --git a/cc/engine/characteristic/views.py b/cc/engine/characteristic/views.py
index d9a439a..4af197e 100644
--- a/cc/engine/characteristic/views.py
+++ b/cc/engine/characteristic/views.py
@@ -8,18 +8,13 @@ def characteristic_view(request):
"""
target_lang = util.get_target_lang_from_request(request)
- template_name = 'characteristic/%s.pt' % (
+ template_name = 'characteristic/%s.html' % (
request.matchdict['characteristic'])
- template = util.get_zpt_template(
- template_name,
- target_lang=target_lang)
- popup_template = util.get_zpt_template(
- 'macros_templates/popup.pt',
- target_lang=target_lang)
- context = {'request': request,
- 'popup_template': popup_template}
+ context = {'request': request}
context.update(util.rtl_context_stuff(target_lang))
return Response(
- template.pt_render(context))
+ util.render_template(
+ request, target_lang,
+ template_name, context))
diff --git a/cc/engine/chooser/views.py b/cc/engine/chooser/views.py
index 85177e2..616a748 100644
--- a/cc/engine/chooser/views.py
+++ b/cc/engine/chooser/views.py
@@ -178,7 +178,7 @@ def _issue_license(request_form):
# check for license_url
elif request_form.has_key('license_url'):
- return cc.license.by_uri(request_form['license_url'])
+ return cc.license.by_uri(str(request_form['license_url']))
else:
if jurisdiction:
@@ -279,24 +279,6 @@ def chooser_view(request):
target_lang = util.get_target_lang_from_request(request)
context = _base_context(request, target_lang)
- if request.GET.get('partner'):
- template = util.get_zpt_template(
- 'chooser_pages/partner/index.pt', target_lang)
- context['pd_get_params'] = util.publicdomain_partner_get_params(
- request.GET)
- else:
- template = util.get_zpt_template(
- 'chooser_pages/index.pt', target_lang)
-
- engine_template = util.get_zpt_template(
- 'macros_templates/engine_2cols.pt', target_lang)
- partner_template = util.get_zpt_template(
- 'macros_templates/partner.pt', target_lang)
- metadata_template = util.get_zpt_template(
- 'macros_templates/metadata.pt', target_lang)
- support_template = util.get_zpt_template(
- 'macros_templates/support.pt', target_lang)
-
available_jurisdiction_codes = [
j.code for j in get_selector_jurisdictions('standard')
if j.code != '']
@@ -320,31 +302,30 @@ def chooser_view(request):
show_jurisdiction = request.GET.get('jurisdiction_choose') == '1'
context.update(
- {'engine_template': engine_template,
- 'partner_template': partner_template,
- 'metadata_template': metadata_template,
- 'support_template': support_template,
+ {'jurisdictions_names': jurisdictions_names,
'show_jurisdiction': show_jurisdiction,
- 'jurisdictions_names': jurisdictions_names,
'requested_jurisdiction': requested_jurisdiction,
- 'referrer': request.headers.get('REFERER','')})
+ 'referrer': request.headers.get('REFERER',''),
+ 'page_style': '2cols'})
+
+ if request.GET.get('partner'):
+ context['pd_get_params'] = util.publicdomain_partner_get_params(
+ request.GET)
- return Response(template.pt_render(context))
+ return Response(
+ util.render_template(
+ request, target_lang,
+ 'chooser_pages/partner/index.html', context))
+ else:
+ return Response(
+ util.render_template(
+ request, target_lang,
+ 'chooser_pages/index.html', context))
def choose_results_view(request):
target_lang = util.get_target_lang_from_request(request)
- if request.GET.get('partner'):
- template = util.get_zpt_template(
- 'chooser_pages/partner/results.pt', target_lang)
- else:
- template = util.get_zpt_template(
- 'chooser_pages/results.pt', target_lang)
-
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
context = _base_context(request, target_lang)
request_form = request.GET or request.POST
@@ -373,22 +354,28 @@ def choose_results_view(request):
license, work_dict, target_lang)
context.update(
- {'engine_template': engine_template,
- 'license': license,
+ {'license': license,
'license_slim_logo': license_slim_logo,
'license_title': license.title(target_lang),
'license_html': license_html})
if request.GET.get('partner'):
context.update(
- {'partner_template': util.get_zpt_template(
- 'macros_templates/partner.pt', target_lang),
- 'exit_url': _generate_exit_url(
+ {'exit_url': _generate_exit_url(
request_form.get('exit_url', ''),
request_form.get('referrer', ''),
license)})
- return Response(template.pt_render(context))
+ if request.GET.get('partner'):
+ return Response(
+ util.render_template(
+ request, target_lang,
+ 'chooser_pages/partner/results.html', context))
+ else:
+ return Response(
+ util.render_template(
+ request, target_lang,
+ 'chooser_pages/results.html', context))
def choose_xmp_view(request):
@@ -432,20 +419,18 @@ def non_web_popup(request):
request_form = request.GET or request.POST
license = _issue_license(request_form)
- template = util.get_zpt_template(
- 'chooser_pages/nonweb_popup.pt', target_lang)
- popup_template = util.get_zpt_template(
- 'macros_templates/popup.pt', target_lang)
+
is_publicdomain = request_form.get('publicdomain') or request_form.get('pd')
context = _base_context(request, target_lang)
context.update(
- {'popup_template': popup_template,
- 'license': license,
+ {'license': license,
'is_publicdomain': is_publicdomain})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/nonweb_popup.html', context)
def choose_wiki_redirect(request):
@@ -471,18 +456,14 @@ def work_email_popup(request):
license_html = HTML_FORMATTER.format(license, work_dict, target_lang)
- template = util.get_zpt_template(
- 'chooser_pages/htmlpopup.pt', target_lang)
- popup_template = util.get_zpt_template(
- 'macros_templates/popup.pt', target_lang)
-
context = _base_context(request, target_lang)
context.update(
- {'popup_template': popup_template,
- 'license': license,
+ {'license': license,
'license_html': license_html})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/htmlpopup.html', context)
@RestrictHttpMethods('POST')
@@ -498,17 +479,12 @@ def work_email_send(request):
license_name, license_html,
email_addr, target_lang)
- template = util.get_zpt_template(
- 'chooser_pages/emailhtml.pt', target_lang)
- popup_template = util.get_zpt_template(
- 'macros_templates/popup.pt', target_lang)
-
context = _base_context(request, target_lang)
- context.update(
- {'request_form': request_form,
- 'popup_template': popup_template})
+ context['request_form'] = request_form
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/emailhtml.html', context)
## Special choosers
@@ -529,41 +505,29 @@ def gpl_redirect(request):
def publicdomain_landing(request):
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/publicdomain/publicdomain-2.pt',
- target_lang)
-
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
- support_template = util.get_zpt_template(
- 'macros_templates/support.pt', target_lang)
+ request_form = request.GET or request.POST
context = _base_context(request, target_lang)
- context.update({
- 'support_template': support_template,
- 'engine_template': engine_template})
+ context['request_form'] = request_form
- return Response(template.pt_render(context))
+ return Response(
+ util.render_template(
+ request, target_lang,
+ 'chooser_pages/publicdomain/publicdomain-2.html', context))
def publicdomain_confirm(request):
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/publicdomain/publicdomain-3.pt',
- target_lang)
-
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
request_form = request.GET or request.POST
context = _base_context(request, target_lang)
- context.update({
- 'engine_template': engine_template,
- 'request_form': request_form})
+ context['request_form'] = request_form
- return Response(template.pt_render(context))
+ return Response(
+ util.render_template(
+ request, target_lang,
+ 'chooser_pages/publicdomain/publicdomain-3.html', context))
def publicdomain_result(request):
@@ -573,7 +537,7 @@ def publicdomain_result(request):
# make sure the user selected "confirm"
if request_form.get('understand', False) != 'confirm':
- return exc.HTTPMovedPermanently(
+ return exc.HTTPFound(
location='%s?%s' % (
'./publicdomain-3', urlencode(request.GET)))
@@ -582,18 +546,15 @@ def publicdomain_result(request):
cc.license.by_code('publicdomain'),
work_info, target_lang)
- template = util.get_zpt_template(
- 'chooser_pages/publicdomain/publicdomain-4.pt', target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
context = _base_context(request, target_lang)
context.update({
- 'engine_template': engine_template,
'request_form': request_form,
'license_html': license_html})
- return Response(template.pt_render(context))
+ return Response(
+ util.render_template(
+ request, target_lang,
+ 'chooser_pages/publicdomain/publicdomain-4.html', context))
### -----------
@@ -602,64 +563,40 @@ def publicdomain_result(request):
def cc0_landing(request):
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/zero/index.pt', target_lang)
- support_template = util.get_zpt_template(
- 'macros_templates/support.pt',
- target_lang=target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
context = _base_context(request, target_lang)
- context.update({
- 'engine_template': engine_template,
- 'support_template': support_template})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/zero/index.html', context)
def cc0_waiver(request):
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/zero/waiver.pt', target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
context = _base_context(request, target_lang)
- context.update({
- 'engine_template': engine_template,
- 'country_list': util.CODE_COUNTRY_LIST})
+ context['country_list'] = util.CODE_COUNTRY_LIST
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/zero/waiver.html', context)
def cc0_confirm(request):
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/zero/confirm.pt', target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
request_form = request.GET or request.POST
context = _base_context(request, target_lang)
- context.update({
- 'engine_template': engine_template,
- 'request_form': request_form})
+ context['request_form'] = request_form
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/zero/confirm.html', context)
def cc0_results(request):
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/zero/results.pt', target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
request_form = request.GET or request.POST
## Do we confirm, understand and accept the conditions of cc0?
@@ -685,7 +622,6 @@ def cc0_results(request):
context = _base_context(request, target_lang)
context.update({
- 'engine_template': engine_template,
'request_form': request_form,
'can_issue': can_issue,
'rdfa': license_html,
@@ -694,7 +630,9 @@ def cc0_results(request):
'requested_send_updates': request_form.get('send_updates', False),
'successful_send': successful_send})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/zero/results.html', context)
def cc0_partner(request):
@@ -703,9 +641,6 @@ def cc0_partner(request):
"""
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/zero/partner.pt', target_lang)
-
request_form = request.GET or request.POST
cc0_license = cc.license.by_code('CC0')
@@ -715,16 +650,16 @@ def cc0_partner(request):
context = _base_context(request, target_lang)
context.update(
- {'partner_template': util.get_zpt_template(
- 'macros_templates/partner.pt', target_lang),
- 'request_form': request_form,
+ {'request_form': request_form,
'get_params': get_params,
'exit_url': _generate_exit_url(
request_form.get('exit_url', ''),
request_form.get('referrer', ''),
cc0_license)})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/zero/partner.html', context)
# publicdomain-direct now redirects to CC0!
@@ -753,20 +688,11 @@ def pdmark_landing(request):
"""
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/pdmark/index.pt', target_lang)
- support_template = util.get_zpt_template(
- 'macros_templates/support.pt',
- target_lang=target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
context = _base_context(request, target_lang)
- context.update({
- 'engine_template': engine_template,
- 'support_template': support_template})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/pdmark/index.html', context)
def pdmark_details(request):
@@ -775,16 +701,11 @@ def pdmark_details(request):
"""
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/pdmark/details.pt', target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
context = _base_context(request, target_lang)
- context.update({
- 'engine_template': engine_template})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/pdmark/details.html', context)
def pdmark_results(request):
@@ -796,11 +717,6 @@ def pdmark_results(request):
"""
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/pdmark/results.pt', target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine.pt', target_lang)
-
request_form = request.GET or request.POST
## RDFA generation
@@ -818,7 +734,6 @@ def pdmark_results(request):
context = _base_context(request, target_lang)
context.update({
- 'engine_template': engine_template,
'request_form': request_form,
'rdfa': license_html,
'email_requested': bool(email_addr),
@@ -826,7 +741,9 @@ def pdmark_results(request):
'successful_send': successful_send,
'requested_send_updates': request_form.get('send_updates', False)})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/pdmark/results.html', context)
def pdmark_partner(request):
@@ -835,9 +752,6 @@ def pdmark_partner(request):
"""
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'chooser_pages/pdmark/partner.pt', target_lang)
-
request_form = request.GET or request.POST
pdm_license = cc.license.by_code('mark')
@@ -847,13 +761,13 @@ def pdmark_partner(request):
context = _base_context(request, target_lang)
context.update(
- {'partner_template': util.get_zpt_template(
- 'macros_templates/partner.pt', target_lang),
- 'request_form': request_form,
+ {'request_form': request_form,
'get_params': get_params,
'exit_url': _generate_exit_url(
request_form.get('exit_url', ''),
request_form.get('referrer', ''),
pdm_license)})
- return Response(template.pt_render(context))
+ return util.render_to_response(
+ request, target_lang,
+ 'chooser_pages/pdmark/partner.html', context)
diff --git a/cc/engine/licenses/views.py b/cc/engine/licenses/views.py
index fc38e56..123c0fd 100644
--- a/cc/engine/licenses/views.py
+++ b/cc/engine/licenses/views.py
@@ -19,42 +19,36 @@ from cc.i18n.util import locale_to_lower_upper
def licenses_view(request):
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template('catalog_pages/licenses-index.pt', target_lang)
-
- engine_template = util.get_zpt_template(
- 'macros_templates/engine_bare.pt', target_lang)
- support_template = util.get_zpt_template(
- 'macros_templates/support.pt',
- target_lang=target_lang)
-
- context = {'request': request,
- 'engine_template': engine_template,
- 'support_template': support_template,
- 'active_languages': get_well_translated_langs()}
+ context = {
+ 'active_languages': get_well_translated_langs(),
+ 'page_style': "bare"}
context.update(util.rtl_context_stuff(target_lang))
# Don't cache the response for internationalization reasons
- response = Response(template.pt_render(context))
+ response = Response(
+ util.render_template(
+ request, target_lang,
+ 'catalog_pages/licenses-index.html', context))
response.headers.add('Cache-Control', 'no-cache')
return response
def publicdomain_view(request):
- return util.plain_template_view('publicdomain/index.pt', request)
+ target_lang = util.get_target_lang_from_request(request)
+
+ return util.render_to_response(
+ request, target_lang,
+ 'publicdomain/index.html', {})
DEED_TEMPLATE_MAPPING = {
- 'sampling': 'licenses/sampling_deed.pt',
- 'sampling+': 'licenses/sampling_deed.pt',
- 'nc-sampling+': 'licenses/sampling_deed.pt',
- 'GPL': 'licenses/fsf_deed.pt',
- 'LGPL': 'licenses/fsf_deed.pt',
- 'MIT': 'licenses/mitbsd_deed.pt',
- 'BSD': 'licenses/mitbsd_deed.pt',
- 'devnations': 'licenses/devnations_deed.pt',
- 'CC0': 'licenses/zero_deed.pt',
- 'mark': 'licenses/pdmark_deed.pt',
- 'publicdomain': 'licenses/publicdomain_deed.pt'}
+ 'sampling': 'licenses/sampling_deed.html',
+ 'sampling+': 'licenses/sampling_deed.html',
+ 'nc-sampling+': 'licenses/sampling_deed.html',
+ 'devnations': 'licenses/devnations_deed.html',
+ 'CC0': 'licenses/zero_deed.html',
+ 'mark': 'licenses/pdmark_deed.html',
+ 'publicdomain': 'licenses/publicdomain_deed.html'}
# For removing the deed.foo section of a deed url
@@ -146,29 +140,10 @@ def license_deed_view(request):
redirect_to = base_url + 'deed.' + negotiated_locale
return exc.HTTPFound(location=redirect_to)
- # Use the pdtools deed macros template if CC0 or PD Mark, else use
- # standard deed macros template
- if license.license_code in ('mark', 'CC0'):
- deed_template = util.get_zpt_template(
- 'macros_templates/pdtool_deed.pt',
- target_lang=target_lang)
- else:
- deed_template = util.get_zpt_template(
- 'macros_templates/deed.pt',
- target_lang=target_lang)
-
- support_template = util.get_zpt_template(
- 'macros_templates/support.pt',
- target_lang=target_lang)
-
if DEED_TEMPLATE_MAPPING.has_key(license.license_code):
- main_template = util.get_zpt_template(
- DEED_TEMPLATE_MAPPING[license.license_code],
- target_lang=target_lang)
+ main_template = DEED_TEMPLATE_MAPPING[license.license_code]
else:
- main_template = util.get_zpt_template(
- 'licenses/standard_deed.pt',
- target_lang=target_lang)
+ main_template = 'licenses/standard_deed.html'
context = {
'request': request,
@@ -180,13 +155,14 @@ def license_deed_view(request):
'legalcodes': legalcodes,
'color': color,
'conditions': conditions,
- 'deed_template': deed_template,
'active_languages': active_languages,
- 'support_template': support_template,
'target_lang': target_lang}
context.update(util.rtl_context_stuff(target_lang))
- return Response(main_template.pt_render(context))
+ return Response(
+ util.render_template(
+ request, target_lang,
+ main_template, context))
@get_license
@@ -244,26 +220,23 @@ def license_catcher(request):
"""
target_lang = util.get_target_lang_from_request(request)
- template = util.get_zpt_template(
- 'catalog_pages/license_catcher.pt', target_lang)
- engine_template = util.get_zpt_template(
- 'macros_templates/engine_bare.pt', target_lang)
-
license_versions = util.catch_license_versions_from_request(request)
if not license_versions:
return exc.HTTPNotFound()
context = {'request': request,
- 'engine_template': engine_template,
'license_versions': reversed(license_versions),
- 'license_class': license_versions[0].license_class}
+ 'license_class': license_versions[0].license_class,
+ 'page_style': 'bare'}
context.update(util.rtl_context_stuff(target_lang))
# This is a helper page, but it's still for not-found situations.
# 404!
return Response(
- template.pt_render(context),
+ util.render_template(
+ request, target_lang,
+ 'catalog_pages/license_catcher.html', context),
status=404)
diff --git a/cc/engine/templates/catalog_pages/404.html b/cc/engine/templates/catalog_pages/404.html
new file mode 100644
index 0000000..1d7d19c
--- /dev/null
+++ b/cc/engine/templates/catalog_pages/404.html
@@ -0,0 +1,17 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}{{ cctrans(locale, "util.Creative_Commons")|safe }}{% endblock %}
+
+{% block page_header_title %}
+ Sorry...
+{% endblock %}
+
+{% block body %}
+ <div class="container_16">
+ <div class="grid_16">
+ <p>The page you were looking for was not found.<br/> </p>
+
+ {% include "includes/other_content.html" %}
+ </div>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/catalog_pages/license_catcher.html b/cc/engine/templates/catalog_pages/license_catcher.html
new file mode 100644
index 0000000..f5e3b57
--- /dev/null
+++ b/cc/engine/templates/catalog_pages/license_catcher.html
@@ -0,0 +1,29 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}{{ cctrans(locale, "util.Creative_Commons")|safe }}{% endblock %}
+
+{% block page_header_title %}
+ Sorry...
+{% endblock %}
+
+{% block body %}
+ <div class="container_16">
+ <div class="grid_16">
+ <p>The page you were looking for was not found.<br/> </p>
+
+ <h4>Were you looking for:</h4>
+
+ <ul class="archives" id="suggested_licenses">
+ {% for license in license_versions %}
+ <li>
+ <a href="{{ license.uri }}">
+ <b>{{ license.title(target_lang) }}</b>
+ </a>
+ </li>
+ {% endfor %}
+ </ul>
+
+ {% include "includes/other_content.html" %}
+ </div>
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/catalog_pages/licenses-index.html b/cc/engine/templates/catalog_pages/licenses-index.html
new file mode 100644
index 0000000..a206d78
--- /dev/null
+++ b/cc/engine/templates/catalog_pages/licenses-index.html
@@ -0,0 +1,261 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}About The Licenses - Creative Commons{% endblock title %}
+
+{% block page_header_title %}About The Licenses{% endblock page_header_title %}
+
+{% block body %}
+{# maybe include an extra div around all this? #}
+ <div class="container_16">
+ <div class="grid_12">
+ <h2>
+ {{ cctrans(locale, "license.index.what_licenses_do.title")|safe }}
+ </h2>
+ <div>
+ {{ cctrans(locale, "license.index.what_licenses_do.body")|safe }}
+ </div>
+ </div>
+
+ <div class="grid_4">
+ <video width="230" height="210" controls>
+ <source src="http://mirrors.creativecommons.org/movingimages/webm/WannaWorkTogether_360p.webm" type="video/webm" />
+ <source src="http://blip.tv/file/get/Commonscreative-WannaWorkTogether958.mov" type="video/mp4" />
+ <embed src="http://blip.tv/play/gpxSkdkzAg" type="application/x-shockwave-flash" width="230" height="210" allowscriptaccess="always" allowfullscreen="true"></embed>
+ </video>
+ </div>
+ </div>
+
+ <div class="container_16">
+ <h2 class="grid_16">
+ {{ cctrans(locale, "license.index.design_rationale.title")|safe }}
+ </h2>
+ <div class="grid_8">
+ <p>
+ {{ cctrans(locale, "license.index.design_rationale.body1")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.index.design_rationale.body2")|safe }}
+ </p>
+ </div>
+ <div class="grid_8">
+ <p>
+ {{ cctrans(locale, "license.index.design_rationale.body3")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.index.design_rationale.body4")|safe }}
+ </p>
+ </div>
+ </div>
+ <div class="alt" id="layers">
+ <div class="container_16">
+ <h2 class="grid_16">
+ {{ cctrans(locale, "license.index.three_layers.title")|safe }}
+ </h2>
+ <div class="grid_5">
+ <img src="/images/license-layers.png" alt="Three Layers of Licenses"/>
+ </div>
+ <div class="grid_11">
+ <p>
+ {{ cctrans(locale, "license.index.three_layers.body1")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.index.three_layers.body2")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.index.three_layers.body3")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.index.three_layers.body4")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.index.three_layers.body5")|safe }}
+ </p>
+ </div>
+ </div>
+ </div>
+
+ <div class="container_16" id="licenses">
+ <h2 class="grid_16">
+ {{ cctrans(locale, "license.index.the_licenses.title")|safe }}
+ </h2>
+ <ul>
+ <li class="grid_8">
+ <div class="grid_2 alpha" style="text-align:right;">
+ <img src="http://i.creativecommons.org/l/by/3.0/88x31.png" alt="" width="88" height="31" />
+ </div>
+ <div class="grid_5 omega">
+ <p>
+ <strong>
+ {{ cctrans(locale, "licenses.pretty_by")|safe }}
+ <br/>CC BY</strong>
+ </p>
+
+ <p>
+ {{ cctrans(locale, "licenses.description.by")|safe }}
+ </p>
+
+ <p>
+ <span style="color: #000000;">
+ <a href="http://creativecommons.org/licenses/by/3.0">
+ {{ cctrans(locale, "util.View_License_Deed")|safe }}</a>
+ | <a href="http://creativecommons.org/licenses/by/3.0/legalcode">
+ {{ cctrans(locale, "util.View_Legal_Code")|safe }}</a>
+ </span>
+ </p>
+ </div>
+ </li>
+
+ <li class="grid_8">
+ <div class="grid_2 alpha" style="text-align:right;">
+ <img src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png"
+ alt="" width="88" height="31" />
+ </div>
+ <div class="grid_5 omega">
+ <p>
+ <strong>
+ {{ cctrans(locale, "licenses.pretty_by-sa")|safe }}
+ <br/>
+ CC BY-SA
+ </strong>
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.description.by-sa")|safe }}
+ </p>
+
+ <p>
+ <span style="color: #000000;">
+ <a href="http://creativecommons.org/licenses/by-sa/3.0">
+ {{ cctrans(locale, "util.View_License_Deed")|safe }}</a>
+ | <a href="http://creativecommons.org/licenses/by-sa/3.0/legalcode">
+ {{ cctrans(locale, "util.View_Legal_Code")|safe }}</a>
+ </span>
+ </p>
+ </div>
+ </li>
+ <li class="grid_8">
+ <div class="grid_2 alpha" style="text-align:right;">
+ <img src="http://i.creativecommons.org/l/by-nd/3.0/88x31.png" alt="" width="88" height="31" />
+ </div>
+ <div class="grid_5 omega">
+ <p>
+ <strong>
+ {{ cctrans(locale, "licenses.pretty_by-nd")|safe }}
+ <br/>
+ CC BY-ND
+ </strong>
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.description.by-nd")|safe }}
+ </p>
+
+ <p>
+ <span style="color: #000000;">
+ <a href="http://creativecommons.org/licenses/by-nd/3.0">
+ {{ cctrans(locale, "util.View_License_Deed")|safe }}</a>
+ | <a href="http://creativecommons.org/licenses/by-nd/3.0/legalcode">
+ {{ cctrans(locale, "util.View_Legal_Code")|safe }}</a>
+ </span>
+ </p>
+ </div>
+ </li>
+ <li class="grid_8">
+ <div class="grid_2 alpha" style="text-align:right;">
+ <img src="http://i.creativecommons.org/l/by-nc/3.0/88x31.png" alt="" width="88" height="31" />
+ </div>
+ <div class="grid_5 omega">
+ <p>
+ <strong>
+ {{ cctrans(locale, "licenses.pretty_by-nc")|safe }}
+ <br/>
+ CC BY-NC
+ </strong>
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.description.by-nc")|safe }}
+ </p>
+
+ <p>
+ <span style="color: #000000;">
+ <a href="http://creativecommons.org/licenses/by-nc/3.0">
+ {{ cctrans(locale, "util.View_License_Deed")|safe }}</a>
+ | <a href="http://creativecommons.org/licenses/by-nc/3.0/legalcode">
+ {{ cctrans(locale, "util.View_Legal_Code")|safe }}</a>
+ </span>
+ </p>
+ </div>
+ </li>
+ <li class="grid_8">
+ <div class="grid_2 alpha" style="text-align:right;">
+ <img src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" alt="" width="88" height="31" />
+ </div>
+ <div class="grid_5 omega">
+ <p>
+ <strong>
+ {{ cctrans(locale, "licenses.pretty_by-nc-sa")|safe }}
+ <br/>
+ CC BY-NC-SA
+ </strong>
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.description.by-nc-sa")|safe }}
+ </p>
+
+ <p>
+ <span style="color: #000000;">
+ <a href="http://creativecommons.org/licenses/by-nc-sa/3.0">
+ {{ cctrans(locale, "util.View_License_Deed")|safe }}</a>
+ | <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode">
+ {{ cctrans(locale, "util.View_Legal_Code")|safe }}</a>
+ </span>
+ </p>
+ </div>
+ </li>
+ <li class="grid_8">
+ <div class="grid_2 alpha" style="text-align:right;">
+ <img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="" width="88" height="31" />
+ </div>
+ <div class="grid_5 omega">
+ <p>
+ <strong>
+ {{ cctrans(locale, "licenses.pretty_by-nc-nd")|safe }}
+ <br/>
+ CC BY-NC-ND
+ </strong>
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.description.by-nc-nd")|safe }}
+ </p>
+
+ <p>
+ <span style="color: #000000;">
+ <a href="http://creativecommons.org/licenses/by-nc-nd/3.0">
+ {{ cctrans(locale, "util.View_License_Deed")|safe }}</a>
+ | <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode">
+ {{ cctrans(locale, "util.View_Legal_Code")|safe }}</a>
+ </span>
+ </p>
+ </div>
+ </li>
+ </ul>
+ <div class="grid_12">
+ <p>
+ {{ cctrans(locale, "license.about_our_publicdomain_tools")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div class="container_16">
+ {% include "includes/engine_languages.html" %}
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/characteristic/by.html b/cc/engine/templates/characteristic/by.html
new file mode 100644
index 0000000..f8eb39a
--- /dev/null
+++ b/cc/engine/templates/characteristic/by.html
@@ -0,0 +1,21 @@
+{% extends "macros_templates/popup.html" %}
+
+{% block title %}{{ cctrans(locale, "char.by_title")|safe }}{% endblock %}
+
+{% block body %}
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}" >
+ <img src="/icon/by/standard.gif" alt="by" hspace="4"
+ align="{{ is_rtl_align }}" />
+ </p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ <strong>{{ cctrans(locale, "char.by_title")|safe }}</strong></p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ {{ cctrans(locale, "char.by_description")|safe }}
+ </p>
+
+ <div style="text-align:center">
+ <a href="javascript:window.close();">{{ cctrans(locale, "util.Close_window")|safe }}</a>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/characteristic/nc.html b/cc/engine/templates/characteristic/nc.html
new file mode 100644
index 0000000..48b3495
--- /dev/null
+++ b/cc/engine/templates/characteristic/nc.html
@@ -0,0 +1,21 @@
+{% extends "macros_templates/popup.html" %}
+
+{% block title %}{{ cctrans(locale, "char.nc_title")|safe }}{% endblock %}
+
+{% block body %}
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}" >
+ <img src="/icon/nc/standard.gif" alt="nc" hspace="4"
+ align="{{ is_rtl_align }}" />
+ </p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ <strong>{{ cctrans(locale, "char.nc_title")|safe }}</strong></p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ {{ cctrans(locale, "char.nc_description")|safe }}
+ </p>
+
+ <div style="text-align:center">
+ <a href="javascript:window.close();">{{ cctrans(locale, "util.Close_window")|safe }}</a>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/characteristic/nd.html b/cc/engine/templates/characteristic/nd.html
new file mode 100644
index 0000000..be7d696
--- /dev/null
+++ b/cc/engine/templates/characteristic/nd.html
@@ -0,0 +1,21 @@
+{% extends "macros_templates/popup.html" %}
+
+{% block title %}{{ cctrans(locale, "char.nd_title")|safe }}{% endblock %}
+
+{% block body %}
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}" >
+ <img src="/icon/nd/standard.gif" alt="nd" hspace="4"
+ align="{{ is_rtl_align }}" />
+ </p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ <strong>{{ cctrans(locale, "char.nd_title")|safe }}</strong></p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ {{ cctrans(locale, "char.nd_description")|safe }}
+ </p>
+
+ <div style="text-align:center">
+ <a href="javascript:window.close();">{{ cctrans(locale, "util.Close_window")|safe }}</a>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/characteristic/sa.html b/cc/engine/templates/characteristic/sa.html
new file mode 100644
index 0000000..4d489a1
--- /dev/null
+++ b/cc/engine/templates/characteristic/sa.html
@@ -0,0 +1,21 @@
+{% extends "macros_templates/popup.html" %}
+
+{% block title %}{{ cctrans(locale, "char.sa_title")|safe }}{% endblock %}
+
+{% block body %}
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}" >
+ <img src="/icon/sa/standard.gif" alt="sa" hspace="4"
+ align="{{ is_rtl_align }}" />
+ </p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ <strong>{{ cctrans(locale, "char.sa_title")|safe }}</strong></p>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ {{ cctrans(locale, "char.sa_description")|safe }}
+ </p>
+
+ <div style="text-align:center">
+ <a href="javascript:window.close();">{{ cctrans(locale, "util.Close_window")|safe }}</a>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/emailhtml.html b/cc/engine/templates/chooser_pages/emailhtml.html
new file mode 100644
index 0000000..dfc4686
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/emailhtml.html
@@ -0,0 +1,14 @@
+{% extends "macros_templates/popup.html" %}
+
+{% block title %}Email Information{% endblock %}
+
+{% block body %}
+ <p>
+ {{ cctrans(locale, "license.link_emailed,
+ email=request_form['to_email']")|safe }}
+ </p>
+
+ <div align="center">
+ <a href="javascript:window.close();">{{ cctrans(locale, "util.Close_window")|safe }}</a>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/htmlpopup.html b/cc/engine/templates/chooser_pages/htmlpopup.html
new file mode 100644
index 0000000..14de9b6
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/htmlpopup.html
@@ -0,0 +1,49 @@
+{% extends "macros_templates/popup.html" %}
+
+{% block title %}Creative Commons{% endblock %}
+
+{% block body %}
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ {{ cctrans(locale, "license.html_display")|safe }}
+ </p>
+ <form action="">
+ <textarea cols="30" rows="8" name="html"
+ style="width:90%;height:150px;">{{ license_html }}</textarea>
+ <p>
+ <input type="button" onclick="form.html.focus();form.html.select()"
+ name="grab" value="{{ cctrans(locale, 'util.Highlight_Text')|safe }}"/>
+ </p>
+ </form>
+
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ {{ cctrans(locale, "license.html_directions")|safe }}
+ </p>
+
+ <form action="./work-email" method="post">
+ <p dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ {{ cctrans(locale, "license.html_email")|safe }}
+ <input type="text" name="to_email" value="" />
+ <input type="hidden" name="lang"
+ value="{{ request.GET.get('lang', '') }}" />
+
+ <input type="hidden" name="license_html"
+ value="{{ license_html }}" />
+
+ <input type="hidden" name="work_title"
+ value="{{ request.GET.get('field_worktitle') }}" />
+
+ <input type="hidden" name="license_name"
+ value="{{ license.title }}" />
+
+ <input type="submit"
+ value="{{ cctrans(locale, 'util.Send')|safe }}" />
+ </p>
+ </form>
+
+ <div align="center"
+ dir="{{ get_ltr_rtl }}" align="{{ is_rtl_align }}">
+ <a href="javascript:window.close();">
+ {{ cctrans(locale, "util.Close_window")|safe }}
+ </a>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/index.html b/cc/engine/templates/chooser_pages/index.html
new file mode 100644
index 0000000..78842e1
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/index.html
@@ -0,0 +1,227 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}Choose a License{% endblock title %}
+
+{% block headers %}
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/container/container-min.js">
+ </script>
+
+ <script src="{{ request.staticdirect('/includes/help.js') }}"
+ type="text/javascript">
+ </script>
+{% endblock headers %}
+
+{% block body %}
+<div>
+ <p>
+ {{ cctrans(locale, "license.what")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.explain")|safe }}
+ </p>
+
+ <div id="help_give_you_credit" class="help_panel">
+ <div class="hd">{{ cctrans(locale, "char.by_title")|safe }}</div>
+ <div class="bd">
+ {{ cctrans(locale, "char.by_description")|safe }}
+ </div>
+ </div>
+
+ <div class="licensebox">
+ <form action="./results-one" method="get" >
+ <div>
+ <input type="hidden" name="q_1" value="2" id="question_1-2"
+ checked="checked" />
+ <input type="hidden" name="q_1" value="1" id="question_1-1" />
+ </div>
+
+ <p>
+ <strong>
+ {{ cctrans(locale, "api.commercial")|safe }}
+ </strong>
+ </p>
+ <ul class="choices">
+ <li>
+ <input type="radio" checked="checked"
+ name="field_commercial" value="y" id="question_2-3"/>
+ <label for="question_2-3">{{ cctrans(locale, "util.Yes")|safe }}</label>
+ <a href="" id="commercial" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/>
+ </a>
+ </li>
+
+ <li>
+ <input type="radio"
+ name="field_commercial" value="n" id="question_2-4"/>
+ <label for="question_2-4">{{ cctrans(locale, "util.No")|safe }}</label>
+ <a href="" id="noncommercial" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/>
+ </a>
+ </li>
+ </ul>
+
+ <p>
+ <strong>
+ {{ cctrans(locale, "api.derivatives")|safe }}
+ </strong>
+ </p>
+
+ <ul class="choices">
+ <li>
+ <input type="radio" checked="checked"
+ name="field_derivatives" value="y"
+ id="question_3-5" />
+ <label for="question_3-5">{{ cctrans(locale, "util.Yes")|safe }}</label>
+ <a href="" id="derivatives" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/>
+ </a>
+ </li>
+
+ <li>
+ <input type="radio" name="field_derivatives" value="sa"
+ id="question_3-6" />
+ <label for="question_3-6">
+ <span>
+ {{ cctrans(locale, "Yes, as long as others share alike")|safe }}
+ </span>
+ <a href="" class="helpLink" id="sharealike">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/>
+ </a>
+ </label>
+ </li>
+
+ <li>
+ <input type="radio" name="field_derivatives" value="n"
+ id="question_3-7" />
+ <label for="question_3-7">{{ cctrans(locale, "util.No")|safe }}</label>
+ <a href="" id="noderivatives" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/>
+ </a>
+ </li>
+ </ul>
+
+ <p>
+ {{ cctrans(locale, "license.jurisdiction_question")|safe }}
+ <a href="" class="helpLink" id="jurisdiction">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/>
+ </a>
+ <br />
+
+ <select name="field_jurisdiction">
+ {# If a specific jurisdiction is requested, we'll mark that
+ # as selected. Otherwise util.International should be selected. #}
+ <option value=""
+ {% if not requested_jurisdiction -%}
+ selected="selected"
+ {%- endif %}>
+ {{ cctrans(locale, "util.International")|safe }}
+ </option>
+
+ {% for juris_code, juris_name in jurisdictions_names %}
+ {% if juris_code == requested_jurisdiction %}
+ <option value="{{ juris_code }}"
+ selected="selected">
+ {{- juris_name -}}
+ </option>
+ {% else %}
+ <option value="{{ juris_code }}">
+ {{- juris_name -}}
+ </option>
+ {% endif %}
+ {% endfor %}
+ </select>
+ </p>
+
+ {% include "includes/more_metadata.html" %}
+
+ <div>
+ <input type="hidden" name="lang" value="{{ target_lang }}" />
+ <input type="hidden" name="n_questions" value="3" />
+ </div>
+
+ <div>
+ <p>
+ <input type="submit" class="submit"
+ value="{{ cctrans(locale, 'license.Select_a_License')|safe }}" />
+ </p>
+ </div>
+ </form>
+ </div>
+ <br />
+
+ {% include "includes/engine_languages.html" %}
+
+ <div id="help_jurisdiction">
+ <div class="hd">
+ <span>{{ cctrans(locale, "util.Jurisdiction")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.jurisdiction_help")|safe }}
+ </p>
+ </div>
+ </div>
+ <div id="help_commercial">
+ <div class="hd">
+ <span>{{ cctrans(locale, "Commercial Use")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.help.commercial")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_noncommercial">
+ <div class="hd">
+ <span>{{ cctrans(locale, "licenses.pretty_nc")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.help.noncommercial")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_derivatives">
+ <div class="hd">
+ <span>{{ cctrans(locale, "Allow Derivative Works")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.help.derivatives")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_noderivatives">
+ <div class="hd">
+ <span>{{ cctrans(locale, "char.nd_title")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "char.nd_description")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_sharealike">
+ <div class="hd">
+ <span>{{ cctrans(locale, "char.sa_title")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "char.sa_description")|safe }}
+ </p>
+ </div>
+ </div>
+</div>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/nonweb_popup.html b/cc/engine/templates/chooser_pages/nonweb_popup.html
new file mode 100644
index 0000000..67f8c29
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/nonweb_popup.html
@@ -0,0 +1,31 @@
+{% extends "macros_templates/popup.html" %}
+
+{% block title %}Non-Web Popup{% endblock %}
+
+{% block body %}
+ <p>The text to display is as follows:</p>
+
+ <form action="">
+ <textarea cols="30" rows="8"
+ name="html" style="width:90%;height:150px;">
+ {%- if is_publicdomain -%}
+ {{ cctrans(locale, "license.non_web_pd")|safe }}
+ {%- else -%}
+ {{ cctrans(locale, "license.non_web_statement",
+ license_name=license.title(target_lang),
+ license_url=license.uri)|safe }}
+ {%- endif -%}
+ </textarea>
+
+ <p>
+ <input type="button" onclick="form.html.focus();form.html.select()"
+ value="{{ cctrans(locale, 'util.Highlight_Text')|safe }}"
+ name="grab" />
+ </p>
+ </form>
+
+ <div align="center">
+ <a href="javascript:window.close();">{{ cctrans(locale, "util.Close_window")|safe }}</a>
+ </div>
+{% endblock %}
+
diff --git a/cc/engine/templates/chooser_pages/partner/index.html b/cc/engine/templates/chooser_pages/partner/index.html
new file mode 100644
index 0000000..bdb0f26
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/partner/index.html
@@ -0,0 +1,99 @@
+{% extends "macros_templates/partner.html" %}
+
+{% block title %}Choose a License{% endblock title %}
+
+{% block body %}
+ <p>
+ {{ cctrans(locale, "license.partner_what")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.partner.publicdomain_options",
+ cc0_url="/choose/zero/partner?%s" % pd_get_params,
+ pd_url="/choose/mark/partner?%s" % pd_get_params)|safe }}
+ </p>
+
+ <form method="get" action="results-one">
+ <input type="hidden" name="lang" value="{{ target_lang }}" />
+ <input type="hidden" name="referrer" value="{{ referrer }}" />
+ <input type="hidden" name="partner" value="{{ request.GET['partner'] }}" />
+ <input type="hidden" name="exit_url" value="{{ request.GET['exit_url'] }}" />
+ <input type="hidden" name="stylesheet"
+ value="{{ request.GET['stylesheet'] }}" />
+ <input type="hidden" name="partner_icon_url" value="{{ request.GET['partner_icon_url'] }}" />
+
+ <p>
+ <b>
+ {{ cctrans(locale, "license.q2",
+ lang=target_lang)|safe }}
+ </b>
+ <br />
+
+ <input type="radio" checked name="field_commercial"
+ value="y" /> {{ cctrans(locale, "util.Yes")|safe }} <br />
+ <input type="radio" name="field_commercial"
+ value="n" /> {{ cctrans(locale, "util.No")|safe }} <br />
+ </p>
+
+ <p>
+ <b>
+ {{ cctrans(locale, "license.q3",
+ lang=target_lang)|safe }}
+ </b>
+ <br />
+
+ <input type="radio" checked name="field_derivatives" value="y" />
+ {{ cctrans(locale, "util.Yes")|safe }}
+ <br />
+
+ <input type="radio" name="field_derivatives" value="sa" />
+ {{ cctrans(locale, "license.a6",
+ lang=target_lang)|safe }}
+ <br />
+
+ <input type="radio" name="field_derivatives" value="n" />
+ {{ cctrans(locale, "util.No")|safe }}
+ <br />
+
+ {% if not show_jurisdiction and requested_jurisdiction %}
+ {# Is this span needed? #}
+ <span>
+ <input type="hidden" name="field_jurisdiction"
+ value="{{ requested_jurisdiction }}" />
+ </span>
+ {% endif %}
+ </p>
+
+ {% if show_jurisdiction %}
+ <p>
+ {{ cctrans(locale, "license.jurisdiction_question")|safe }}
+ (<a href="http://creativecommons.org/choose/jurisdiction-popup?lang=en"
+ onclick="window.open('http://creativecommons.org/choose/jurisdiction-popup?lang=en', 'characteristic_help', 'width=375,height=300,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=yes,menubar=no,status=yes');return false;"
+ >more info</a>
+ <a href="http://creativecommons.org/choose/jurisdiction-popup?lang=en"
+ onclick="window.open('http://creativecommons.org/choose/jurisdiction-popup?lang=en', 'characteristic_help', 'width=375,height=300,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=yes,menubar=no,status=yes');return false;">
+ <img src="http://creativecommons.org/images/popup.gif"
+ width="15" height="13" alt="more info" border="0" />
+ </a>)
+ <br />
+
+ <select name="field_jurisdiction">
+ <option value="" selected="selected">{{ cctrans(locale, "util.International")|safe }}</option>
+
+ {% for juris_code, juris_name in jurisdictions_names %}
+ <option value="{{ juris_code }}">
+ {{ juris_name }}
+ </option>
+ {% endfor %}
+ </select>
+ </p>
+ {% endif %}
+
+ <p>
+ <input type="submit"
+ value="{{ cctrans(locale, 'license.Select_a_License')|safe }}" />
+ </p>
+ </form>
+
+ {{ cctrans(locale, "license.partner_note")|safe }}
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/partner/results.html b/cc/engine/templates/chooser_pages/partner/results.html
new file mode 100644
index 0000000..7a2b85e
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/partner/results.html
@@ -0,0 +1,17 @@
+{% extends "macros_templates/partner.html" %}
+
+{% block title %}Choose a License{% endblock title %}
+
+{% block body %}
+ <p>
+ {{ cctrans(locale, "license.partner_selected",
+ license_deed_url=license.uri,
+ license_pretty_name=license.title(target_lang),
+ license_url=license.uri)|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.you_may_proceed",
+ processed_exit_url=exit_url)|safe }}
+ </p>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/pdmark/details.html b/cc/engine/templates/chooser_pages/pdmark/details.html
new file mode 100644
index 0000000..c884b73
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/pdmark/details.html
@@ -0,0 +1,153 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}Public Domain Mark{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/element/element-beta-min.js"></script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/button/button-min.js"></script>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/zero.css') }}" />
+
+ <script type="text/javascript"
+ src="{{ request.staticdirect('/includes/help.js') }}" >
+ </script>
+
+ <script type="text/javascript">
+ YAHOO.namespace("cc.zero");
+
+ YAHOO.cc.zero.on_click = function(event) {
+
+ YAHOO.util.Dom.get("details-submit").disabled = !(
+ YAHOO.util.Dom.get("confirm_details").checked &&
+ YAHOO.util.Dom.get("confirm_understand").checked);
+
+ } // on_click
+
+ YAHOO.util.Event.onDOMReady(function() {
+
+ // connect event handlers for the check boxes
+ YAHOO.util.Event.addListener("confirm_details", "click", YAHOO.cc.zero.on_click);
+ YAHOO.util.Event.addListener("confirm_understand", "click", YAHOO.cc.zero.on_click);
+
+ });
+ </script>
+{% endblock %}
+
+{% block sidebar %}{% endblock %}
+
+{% block page_header_title %}Public Domain Mark{% endblock %}
+
+{% block body %}
+ <div class="yui-skin-sam">
+ <div id="waiver_ui" class="yui-module">
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.mark.additional_metadata")|safe }}
+ <a href="" id="embedded_metadata" class="helpLink">
+ <img src="{{ request.staticdirect('/images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/></a>
+ </p>
+
+ <div id="help_embedded_metadata" class="help_panel">
+ <div class="hd">{{ cctrans(locale, "Embedded Metadata")|safe }}</div>
+ <div class="bd">
+ {{ cctrans(locale, "license.mark.metadata_help")|safe }}
+ </div>
+ </div>
+
+ <form id="form-details" action="./results">
+ <div class="form-section">
+ <h3>{{ cctrans(locale, "util.work_information")|safe }}</h3>
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.work_name")|safe }}</div>
+ <div class="form-answer">
+ <input name="work_title" class="form-field"/>
+ <br />
+ <div class="form-field-description">
+ {{ cctrans(locale, "license.mark.work_title")|safe }}
+ </div>
+ </div>
+ </div>
+ </div>
+ <div style="clear:both;"></div>
+
+ <div class="form-section">
+ <h3>{{ cctrans(locale, "util.author")|safe }}</h3>
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.author_name")|safe }}</div>
+ <div class="form-answer">
+ <input name="author_title" class="form-field"/>
+ <br />
+ <div class="form-field-description">
+ {{ cctrans(locale, "license.mark.author_help")|safe }}
+ </div>
+ </div>
+ </div>
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.author_url")|safe }}</div>
+ <div class="form-answer">
+ <input name="author_href" class="form-field"/>
+ <br />
+ <div class="form-field-description">
+ {{ cctrans(locale, "license.mark.author_url_help")|safe }}
+ </div>
+ </div>
+ </div>
+ </div>
+ <div style="clear:both;"></div>
+
+ <div class="form-section">
+ <h3>{{ cctrans(locale, "util.identifying_party")|safe }}</h3>
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.name")|safe }}</div>
+ <div class="form-answer">
+ <input name="curator_title" class="form-field"/>
+ <br />
+ <div class="form-field-description">
+ {{ cctrans(locale, "license.mark.curator_help")|safe }}
+ </div>
+ </div>
+ </div>
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.url")|safe }}</div>
+ <div class="form-answer">
+ <input name="curator_href" class="form-field"/>
+ <div class="form-field-description">
+ {{ cctrans(locale, "license.mark.curator_href_help")|safe }}
+ </div>
+ </div>
+ </div>
+ </div>
+ <div style="clear:both;"></div>
+
+ <div>
+ <input type="hidden" name="lang" value="{{ target_lang }}" />
+ </div>
+
+ <div class="form-row">
+ <div class="form-question"> </div>
+ <div class="form-answer">
+ <input type="submit" id="submit"
+ name="field1" value="{{ cctrans(locale, 'util.continue')|safe }}" />
+ </div>
+ </div>
+
+ </form>
+
+ <br clear="both"/>
+ </div>
+ </div>
+
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/pdmark/index.html b/cc/engine/templates/chooser_pages/pdmark/index.html
new file mode 100644
index 0000000..1e170e5
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/pdmark/index.html
@@ -0,0 +1,86 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}Public Domain Mark{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/element/element-beta-min.js"></script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/button/button-min.js"></script>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/zero.css') }}" />
+
+ <script type="text/javascript"
+ src="{{ request.staticdirect('/includes/help.js') }}" >
+ </script>
+
+ <script type="text/javascript">
+ YAHOO.namespace("cc.zero");
+
+ YAHOO.cc.zero.on_click = function(event) {
+
+ YAHOO.util.Dom.get("details-submit").disabled = !(
+ YAHOO.util.Dom.get("confirm_details").checked &&
+ YAHOO.util.Dom.get("confirm_understand").checked);
+
+ } // on_click
+
+ YAHOO.util.Event.onDOMReady(function() {
+
+ // connect event handlers for the check boxes
+ YAHOO.util.Event.addListener("confirm_details", "click", YAHOO.cc.zero.on_click);
+ YAHOO.util.Event.addListener("confirm_understand", "click", YAHOO.cc.zero.on_click);
+
+ });
+ </script>
+{% endblock headers %}
+
+{% block sidebar %}{% endblock %}
+
+{% block page_header_title %}Public Domain Mark{% endblock %}
+
+{% block body %}
+ <div class="yui-content">
+ <div id="page-welcome" class="yui-module">
+ <div class="bd">
+ <div class="pd-explain-differences">
+ {{ cctrans(locale, "license.mark.CC0-difference")|safe }}
+ </div>
+
+ <p>
+ {{ cctrans(locale, "license.mark.intro_1")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.mark.intro_2")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.mark.intro_3")|safe }}
+ </p>
+
+ <p>
+ <span id="mycheckbox" class="yui-button">
+ <span class="first-child">
+ <a id="do-learn-more"
+ href="/about/pdm">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </span>
+ </span>
+
+ <span id="mycheckbox" class="yui-button">
+ <span class="first-child">
+ <a href="/choose/mark/details{% if target_lang %}?lang={{ target_lang }}{% endif %}"
+ id="do-begin">{{ cctrans(locale, "util.begin")|safe }} »</a>
+ </span>
+ </span>
+ </p>
+
+ {% include "includes/engine_languages.html" %}
+ </div>
+ </div>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/pdmark/partner.html b/cc/engine/templates/chooser_pages/pdmark/partner.html
new file mode 100644
index 0000000..c292d39
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/pdmark/partner.html
@@ -0,0 +1,29 @@
+{% extends "macros_templates/partner.html" %}
+
+{% block title %}Choose a License{% endblock title %}
+
+{% block body %}
+ <h1>{{ cctrans(locale, "license.confirm_choice")|safe }}</h1>
+
+ <p>
+ {{ cctrans(locale, "license.mark.intro_1")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.mark.intro_2")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.mark.intro_3")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.partner.mark.use_cc0_instead",
+ pd_url="/choose/zero/partner?" + get_params)|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.you_may_proceed",
+ processed_exit_url=exit_url)|safe }}
+ </p>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/pdmark/results.html b/cc/engine/templates/chooser_pages/pdmark/results.html
new file mode 100644
index 0000000..a164b39
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/pdmark/results.html
@@ -0,0 +1,116 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}Public Domain Mark: Results{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/element/element-beta-min.js"></script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/button/button-min.js"></script>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/zero.css') }}" />
+
+ <script type="text/javascript">
+ YAHOO.util.Event.onDOMReady(function() {
+ // init the buttons
+ (new YAHOO.widget.Button("do-send-email")).render();
+ });
+ </script>
+{% endblock %}
+
+{% block sidebar %}{% endblock %}
+
+{% block page_header_title %}Public Domain Mark{% endblock %}
+
+{% block body %}
+ <div class="yui-skin-sam">
+ <div id="results" class="yui-module">
+ <div class="bd" id="waiver-results">
+ <p>
+ {{ cctrans(locale, "license.mark.choose_button")|safe }}
+ </p>
+
+ <div class="licensebox" align="center">
+ <table>
+ <tr>
+ <td valign="bottom" align="center">
+ <img src="http://i.creativecommons.org/p/mark/1.0/88x31.png"
+ style="border:0px;" /><br/>
+ <input type="radio" name="button" checked
+ onclick="swapbutton('http://i.creativecommons.org/p/mark/1.0/88x31.png')" />
+ </td>
+ <td valign="bottom" align="center">
+ <img src="http://i.creativecommons.org/p/mark/1.0/80x15.png"
+ style="border:0px;" /><br/>
+ <input type="radio" name="button"
+ onclick="swapbutton('http://i.creativecommons.org/p/mark/1.0/80x15.png')"/>
+ </td>
+
+ </tr>
+ </table>
+ </div>
+
+ <span id="waiver-results-leadin">
+ {{ cctrans(locale, "license.mark.preview_waiver")|safe }}
+ </span>
+
+ <div class="preview"
+ id="results-preview">{{ rdfa|safe }}</div>
+
+ <h3>{{ cctrans(locale, "license.have_your_own_website")|safe }}</h3>
+ <p>
+ {{ cctrans(locale, "license.mark.copy_text")|safe }}
+ </p>
+
+ <textarea id="codetocopy" cols="70" rows="6"
+ onfocus="select()">{{ rdfa }}</textarea>
+
+ <div class="more-metadata-container">
+ <h3 style="margin-top:0;">{{ cctrans(locale, "license.zero.send_email")|safe }}</h3>
+
+ {% if email_requested %}
+ {% if successful_send %}
+ <div>
+ <p>
+ {{ cctrans(locale, "license.zero.email_sent",
+ email_addr=email_addr)|safe }}
+ </p>
+ </div>
+ {% else %}
+ <div class="more-metadata-container error">
+ {{ cctrans(locale, "license.zero.email_error",
+ email_addr=email_addr)|safe }}
+ </div>
+ {% endif %}
+
+ {% else %}
+ <p>
+ {{ cctrans(locale, "license.mark.send_email_updates")|safe }}
+ </p>
+
+ <form action="{{ request.path_info }}" method="post">
+ {% for key, value in request_form.iteritems() %}
+ <input type="hidden" name="{{ key }}" value="{{ value }}" />
+ {% endfor %}
+
+ <div class="more-metadata">
+ <div>{{ cctrans(locale, "util.your_email")|safe }}</div>
+ <input type="textbox" name="email" />
+ </div>
+
+ <input id="do-send-email" type="submit"
+ value="{{ cctrans(locale, 'util.Send')|safe }}" />
+ </form>
+ {% endif %}
+
+ </div>
+ </div>
+ <div class="ft"></div>
+ </div>
+
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/chooser_pages/publicdomain/publicdomain-2.html b/cc/engine/templates/chooser_pages/publicdomain/publicdomain-2.html
new file mode 100644
index 0000000..24a2755
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/publicdomain/publicdomain-2.html
@@ -0,0 +1,63 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}
+ {{ cctrans(locale, "util.public_domain_certification")|safe }}
+{% endblock title %}
+
+{% block page_header_title %}
+ {{ cctrans(locale, "license.pd.identify_a_pd_work")|safe }}
+{% endblock page_header_title %}
+
+{% block body %}
+ <p>
+ <i>
+ {{ cctrans(locale, "license.pd.retired")|safe }}
+ </i>
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.pd.intro_1")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.pd.intro_3")|safe }}
+ </p>
+
+ <h3>
+ {{ cctrans(locale, "license.pd.about_the_work")|safe }}
+ </h3>
+
+ <form id="publicdomain"
+ action="./publicdomain-3">
+ {% if request.GET.get('lang', False) %}
+ <input type="hidden" name="lang"
+ value="{{ request.GET.get('lang','') }}" />
+ {% endif %}
+ <table border="0" cellspacing="3" cellpadding="3">
+ <tbody>
+ <tr>
+ <td align="right">
+ {{ cctrans(locale, "util.title_of_work")|safe }}
+ </td>
+ <td><input type="text" name="title" value="" />
+ </td>
+ </tr>
+ <tr>
+ <td align="right">
+ {{ cctrans(locale, "util.author")|safe }}
+ </td>
+ <td><input type="text" name="copyright_holder" value="" />
+ </td>
+ </tr>
+ <tr>
+ <td align="right"> </td>
+ <td>
+ <input type="submit"
+ value="{{ cctrans(locale, 'util.proceed')|safe }}" /></td>
+ </tr>
+ </tbody>
+ </table>
+ </form>
+
+ {% include "includes/engine_languages.html" %}
+{% endblock body %}
diff --git a/cc/engine/templates/chooser_pages/publicdomain/publicdomain-3.html b/cc/engine/templates/chooser_pages/publicdomain/publicdomain-3.html
new file mode 100644
index 0000000..ab426c6
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/publicdomain/publicdomain-3.html
@@ -0,0 +1,95 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}
+ {{ cctrans(locale, "util.public_domain_certification")|safe }}
+{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/element/element-beta-min.js">
+ </script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/button/button-min.js">
+ </script>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('/includes/zero.css') }}" />
+
+ <script type="text/javascript"
+ src="{{ request.staticdirect('/includes/help.js') }}" >
+ </script>
+
+ <script type="text/javascript">
+
+YAHOO.namespace("cc.pdc");
+
+YAHOO.cc.pdc.on_click = function(event) {
+
+ YAHOO.util.Dom.get("details-submit").disabled = !(
+ YAHOO.util.Dom.get("confirm_understand").checked);
+
+} // on_click
+
+YAHOO.util.Event.onDOMReady(function() {
+
+ // connect event handlers for the check box
+ YAHOO.util.Event.addListener("confirm_understand", "click",
+ YAHOO.cc.pdc.on_click);
+
+});
+ </script>
+{% endblock headers %}
+
+{% block page_header_title %}
+ {{ cctrans(locale, "license.pd.confirm_title")|safe }}
+{% endblock %}
+
+{% block body %}
+ <div class="yui-module">
+ <div class="bd">
+ <form id="form-details" action="./publicdomain-4">
+ <div class="licensebox" style="clear:both;">
+ <h4>
+ {{ cctrans(locale, "deed.pd.title_plain")|safe }}
+ </h4>
+
+ {{ cctrans(locale, "deed.pd")|safe }}
+ </div>
+
+ {% if request_form.get('lang', False) %}
+ <input type="hidden" name="lang"
+ value="{{ request_form.get('lang','') }}" />
+ {% endif %}
+
+ <div class="form-row">
+ <div class="form-question">
+ <input name="understand" type="checkbox"
+ id="confirm_understand" class="form-field"
+ value="confirm" />
+ </div>
+ <div class="form-answer">
+ <label for="understand">
+ {{ cctrans(locale, "license.pdc.confirm_reading")|safe }}
+ </label>
+ </div>
+ </div>
+
+ <div class="form-row">
+ <div class="form-question"> </div>
+ <div class="form-answer">
+ <input type="submit" id="details-submit" disabled=""
+ name="field1" value="{{ cctrans(locale, 'util.continue')|safe }}" />
+ </div>
+ </div>
+
+ <input type="hidden" name="title"
+ value="{{ request_form['title'] }}" />
+ <input type="hidden" name="copyright_holder"
+ value="{{ request_form['copyright_holder'] }}" />
+ </form>
+ </div>
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/chooser_pages/publicdomain/publicdomain-4.html b/cc/engine/templates/chooser_pages/publicdomain/publicdomain-4.html
new file mode 100644
index 0000000..5c0cfad
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/publicdomain/publicdomain-4.html
@@ -0,0 +1,45 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}
+ {{ cctrans(locale, "util.public_domain_certification")|safe }}
+{% endblock title %}
+
+{% block page_header_title %}
+ {{ cctrans(locale, "license.pd.identify_a_pd_work")|safe }}
+{% endblock %}
+
+{% block body %}
+ <p>
+ {{ cctrans(locale, "license.mark_pd")|safe }}
+ </p>
+
+ <div>
+ {{ cctrans(locale, "license.mark_web")|safe }}
+ <br /><br />
+
+ <div class="textbox">
+ <div align="center">
+ <form action="">
+ <textarea cols="30" rows="8" name="html"
+ style="width:90%;height:150px;">{{ license_html }}</textarea>
+
+ <p>
+ <input type="button"
+ onclick="form.html.focus();form.html.select()"
+ value="{{ cctrans(locale, 'util.Highlight_Text')|safe }}"
+ name="grab" />
+ [<a href="work-html-popup?licensecode=pd&pd=true"
+ onclick="window.open('work-html-popup?licensecode=pd&pd=true', 'html_help', 'width=400,height=350,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=yes,menubar=no,status=yes');return false;"
+ >{{ cctrans(locale, "license.get_html_email")|safe }}</a>]
+ </p>
+
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <p>
+ {{ cctrans(locale, "license.pd.to_mark_nonweb",
+ url_vars="pd=1&field_creator=%s&field_worktitle=%s" % (request_form.get('copyright_holder', ''), request_form.get('title', '')))|safe }}
+ </p>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/results.html b/cc/engine/templates/chooser_pages/results.html
new file mode 100644
index 0000000..0ed176f
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/results.html
@@ -0,0 +1,137 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}Choose a License{% endblock title %}
+
+{% block headers %}
+ <style>
+ #beta h4 {
+ margin-bottom: 0.25em;
+ margin-top: 0.5em;
+ padding-left: 0;
+ }
+ </style>
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/zero.css') }}" />
+{% endblock headers %}
+
+{% block body %}
+ <p>
+ {{ cctrans(locale, "license.choose_button")|safe }}
+ </p>
+
+ <div class="licensebox">
+ <div style="margin-top:10px;" align="center">
+ <table dir="{{ get_ltr_rtl }}">
+ <tr>
+ <td style="text-align:center">
+ <a href="{{ license.uri }}">
+ <img id="licensebutton"
+ alt="Creative Commons License"
+ src="{{ license.logo }}"
+ style="margin-right:10px;margin-bottom:4px; border: 0;" />
+ </a>
+ <br/>
+ <input type="radio" name="button"
+ checked="checked" onclick="swapbutton('{{ license.logo }}')" />
+ </td>
+ {% if not request.wiki %}
+ <td style="text-align:center" valign="bottom">
+ <a href="{{ license.uri }}">
+ <img id="licensebutton_slim"
+ alt="Creative Commons License"
+ src="{{ license_slim_logo }}"
+ style="margin-right:10px;margin-bottom:4px; border: 0;" /></a>
+ <br/>
+ <input type="radio" name="button"
+ onclick="swapbutton('{{ license_slim_logo }}')"/>
+ </td>
+ {% endif %}
+ </tr>
+ </table>
+ </div>
+ </div>
+
+ <div>
+ {{ cctrans(locale, "license.preview")|safe }}
+ </div>
+
+ <div class="preview" id="results-preview">
+ {%- autoescape False -%}
+ {{- license_html -}}
+ {%- endautoescape -%}
+ </div>
+
+ <div style="margin-top:20px;margin-bottom:30px;">
+ <h4>{{ cctrans(locale, "license.have_your_own_website")|safe }}</h4>
+
+ <p>
+ {{ cctrans(locale, "license.copy_text")|safe }}
+ </p>
+
+ <form action="">
+ <div>
+ <textarea id="codetocopy" name="html" onclick="this.select()" readonly="true"
+ style="width:99%;height:150px;resize:vertical" rows="8" cols="20">
+ {{- license_html -}}
+ </textarea>
+ </div>
+ </form>
+
+ <p>
+ <span>
+ {{ cctrans(locale, "license.select_text",
+ url_vars=request.query_string)|safe }}
+ </span>
+ <strong>
+ {{ cctrans(locale, "license.read_tutorial")|safe }}
+ </strong>
+ </p>
+
+ <div id="chooserDonate">
+ <div>
+ <a href="https://creativecommons.net/donate/"><img src="/images/support/2010/cc-support.png" alt="Donate" title="Donate" border="0"/></a></div>
+ <p>
+ {{ cctrans(locale, "license.donate_message")|safe }}
+ </p>
+ </div>
+ </div>
+ <!-- <div metal:use-macro="here/license_macros/macros/languages">
+ language box
+ </div>
+ -->
+{% endblock %}
+
+{% block sidebar %}
+ <p>
+ {{ cctrans(locale, "license.learn_share")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.learn_where_to_publish")|safe }}
+ </p>
+
+ <h4>{{ cctrans(locale, "license.offline_work")|safe }}</h4>
+
+ <ul class="no-bullets">
+ <li>
+ <span>
+ {{ cctrans(locale, "license.mark_nonweb",
+ url_vars=request.query_string)|safe }}
+ </span>
+ </li>
+ <li>
+ {{ cctrans(locale, "license.xmp_metadata",
+ url_vars=request.query_string)|safe }}
+ </li>
+ <li>
+ <a href="http://creativecommons.org/about/downloads/">
+ {{ cctrans(locale, "license.get_high_res")|safe }}
+ </a>
+ </li>
+ <li>
+ <a href="http://wiki.creativecommons.org/Marking/Creators#Marking_Specific_Media">
+ {{ cctrans(locale, "license.mark_video")|safe }}
+ </a>
+ </li>
+ </ul>
+{% endblock %}
diff --git a/cc/engine/templates/chooser_pages/zero/confirm.html b/cc/engine/templates/chooser_pages/zero/confirm.html
new file mode 100644
index 0000000..e24d932
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/zero/confirm.html
@@ -0,0 +1,67 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}CC0: Confirm Waiver{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/container/assets/container.css">
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('/includes/zero.css') }}" />
+{% endblock headers %}
+
+{% block sidebar %}{% endblock %}
+
+{% block page_header_title %}
+ CC0: {{ cctrans(locale, "license.zero.confirm_title")|safe }}
+{% endblock %}
+
+{% block body %}
+ <div class="yui-skin-sam">
+ <form action="results">
+ {% for key, value in request_form.iteritems() %}
+ <input type="hidden" name="{{ key }}" value="{{ value }}" />
+ {% endfor %}
+
+ <div id="confirm-waiver" class="yui-module">
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.zero.confirm_waiver_1")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.zero.confirm_waiver_2")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.zero.confirm_waiver_3")|safe }}
+ </p>
+
+ <div class="form-row yui-buttongroup">
+ <span class="yui-button">
+ <span class="first-child">
+ <button type="submit" id="decline-submit"
+ name="waiver-decline"
+ value="decline">
+ {{ cctrans(locale, "license.zero.confirm_waiver_no")|safe }}
+ </button>
+ </span>
+ </span>
+
+ <span class="yui-button">
+ <span class="first-child">
+ <button type="submit" id="confirm-submit"
+ name="waiver-affirm" class="alert"
+ value="affirm">
+ {{ cctrans(locale, "license.zero.confirm_waiver_yes")|safe }}
+ </button>
+ </span>
+ </span>
+ </div>
+
+ </div>
+ </div>
+ </form>
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/chooser_pages/zero/index.html b/cc/engine/templates/chooser_pages/zero/index.html
new file mode 100644
index 0000000..a796d17
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/zero/index.html
@@ -0,0 +1,83 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}CC0{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/button/button-min.js"></script>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/zero.css') }}" />
+
+ <script type="text/javascript"
+ src="{{ request.staticdirect('/includes/help.js') }}" >
+ </script>
+
+ <script type="text/javascript">
+ YAHOO.util.Event.onDOMReady(function() {
+
+ // init the buttons
+ new YAHOO.widget.Button("do-begin");
+ new YAHOO.widget.Button("do-learn-more");
+
+ });
+ </script>
+{% endblock headers %}
+
+{% block sidebar %}{% endblock %}
+
+{% block page_header_title %}CC0{% endblock %}
+
+{% block body %}
+ <div class="yui-content">
+ <div id="page-welcome" class="yui-module">
+ <div class="bd">
+ <div class="pd-explain-differences">
+ {{ cctrans(locale, "license.zero.PDM-difference")|safe }}
+ </div>
+
+ <p>
+ {{ cctrans(locale, "license.zero.intro_1")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.zero.intro_2")|safe }}
+ </p>
+
+ <p>
+ {{ cctrans(locale, "license.zero.intro_3")|safe }}
+ </p>
+
+ <p>
+ <span id="mycheckbox" class="yui-button">
+ <span class="first-child">
+ <a id="do-learn-more"
+ href="/about/cc0">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </span>
+ </span>
+
+ <span id="mycheckbox" class="yui-button">
+ <span class="first-child">
+ {% if request.GET.has_key('lang') %}
+ <a id="do-begin"
+ href="{{ '/choose/zero/waiver?lang=' + target_lang }}">
+ {{ cctrans(locale, "util.begin")|safe }} »
+ </a>
+ {% else %}
+ <a id="do-begin" href="/choose/zero/waiver">
+ {{ cctrans(locale, "util.begin")|safe }} »
+ </a>
+ {% endif %}
+ </span>
+ </span>
+ </p>
+
+ {% include "includes/engine_languages.html" %}
+
+ </div>
+ </div>
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/chooser_pages/zero/partner.html b/cc/engine/templates/chooser_pages/zero/partner.html
new file mode 100644
index 0000000..ac9bf25
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/zero/partner.html
@@ -0,0 +1,25 @@
+{% extends "macros_templates/partner.html" %}
+
+{% block title %}Choose a License{% endblock title %}
+
+{% block body %}
+<h1>{{ cctrans(locale, "license.confirm_choice")|safe }}</h1>
+
+<p>
+ {{ cctrans(locale, "license.zero.intro_1")|safe }}
+</p>
+
+<p>
+ {{ cctrans(locale, "license.zero.intro_2")|safe }}
+</p>
+
+<p>
+ {{ cctrans(locale, "license.partner.zero.use_pdm_instead",
+ pd_url="/choose/mark/partner?%s" % get_params)|safe }}
+</p>
+
+<p>
+ {{ cctrans(locale, "license.you_may_proceed",
+ processed_exit_url=exit_url)|safe }}
+</p>
+{% endblock body %}
diff --git a/cc/engine/templates/chooser_pages/zero/results.html b/cc/engine/templates/chooser_pages/zero/results.html
new file mode 100644
index 0000000..01d63e8
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/zero/results.html
@@ -0,0 +1,142 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}CC0: Results{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/container/assets/container.css">
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/element/element-beta-min.js"></script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/button/button-min.js"></script>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('/includes/zero.css') }}" />
+
+ <script type="text/javascript">
+ YAHOO.util.Event.onDOMReady(function() {
+ // init the buttons
+ (new YAHOO.widget.Button("do-send-email")).render();
+ });
+ </script>
+{% endblock headers %}
+
+<body>
+
+{% block sidebar %}{% endblock %}
+
+{% block page_header_title %}CC0{% endblock %}
+
+{% block body %}
+ <div class="yui-skin-sam">
+
+ {% if not can_issue %}
+ <div id="error" class="yui-module">
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.zero.declined")|safe }}
+ </p>
+ <ul>
+ <li>
+ <a href="/about/cc0">{{ cctrans(locale, "license.zero.about")|safe }}</a>
+ </li>
+ <li>
+ <a href="http://wiki.creativecommons.org/CC0_FAQ"
+ >{{ cctrans(locale, "util.FAQ")|safe }}</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ {% else %}
+ <div id="results" class="yui-module">
+ <div class="bd" id="waiver-results">
+ <p>
+ {{ cctrans(locale, "license.choose_button")|safe }}
+ </p>
+
+ <div class="licensebox" align="center">
+ <table>
+ <tr>
+ <td valign="bottom" align="center">
+ <img src="http://i.creativecommons.org/p/zero/1.0/88x31.png"
+ style="border:0px;" /><br/>
+ <input type="radio" name="button" checked
+ onclick="swapbutton('http://i.creativecommons.org/p/zero/1.0/88x31.png')" />
+ </td>
+ <td valign="bottom" align="center">
+ <img src="http://i.creativecommons.org/p/zero/1.0/80x15.png"
+ style="border:0px;" /><br/>
+ <input type="radio" name="button"
+ onclick="swapbutton('http://i.creativecommons.org/p/zero/1.0/80x15.png')"/>
+ </td>
+
+ </tr>
+ </table>
+ </div>
+
+ <span id="waiver-results-leadin">
+ {{ cctrans(locale, "license.zero.preview_waiver")|safe }}
+ </span>
+
+ <div class="preview" id="results-preview">{{ rdfa|safe }}</div>
+
+ <h3>{{ cctrans(locale, "license.have_your_own_website")|safe }}</h3>
+ <p>
+ {{ cctrans(locale, "license.zero.copy_text")|safe }}
+ </p>
+
+ <textarea id="codetocopy" cols="70" rows="6"
+ onfocus="select()">{{ rdfa }}</textarea>
+
+ <div class="more-metadata-container">
+ <h3 style="margin-top:0;">{{ cctrans(locale, "license.zero.send_email")|safe }}</h3>
+
+ {% if email_requested %}
+ {# email container #}
+ {% if not succesful_send %}
+ <div class="more-metadata-container error">
+ {{ cctrans(locale, "license.zero.email_error",
+ email_addr=email_addr)|safe }}
+ </div>
+ {% else %}
+ <div>
+ <p>
+ {{ cctrans(locale, "license.zero.email_sent",
+ email_addr=email_addr)|safe }}
+ </p>
+
+ {% if requested_send_updates %}
+ {{ cctrans(locale, "license.zero.subscribed_to_updates")|safe }}
+ {% endif %}
+ </div>
+ {% endif %}
+ {% else %}
+ <p>
+ {{ cctrans(locale, "license.zero.send_email_updates")|safe }}
+ </p>
+
+ <form action="{{ request.path_info }}" method="post">
+ {% for key, value in request_form.iteritems() %}
+ <input type="hidden" name="{{ key }}" value="{{ value }}" />
+ {% endfor %}
+
+ <div class="more-metadata">
+ <div>{{ cctrans(locale, "util.your_email")|safe }}</div>
+ <input type="textbox" name="email" />
+ </div>
+
+ <input id="do-send-email" type="submit"
+ value="{{ cctrans(locale, 'util.Send')|safe }}" />
+ </form>
+ {% endif %}
+
+ </div>
+ </div>
+ <div class="ft"></div>
+ </div>
+ {% endif %}
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/chooser_pages/zero/waiver.html b/cc/engine/templates/chooser_pages/zero/waiver.html
new file mode 100644
index 0000000..c934c78
--- /dev/null
+++ b/cc/engine/templates/chooser_pages/zero/waiver.html
@@ -0,0 +1,181 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}{{ cctrans(locale, "license.zero.waiver_title")|safe }}{% endblock title %}
+
+{% block headers %}
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/button/assets/skins/sam/button.css">
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/element/element-beta-min.js"></script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/button/button-min.js"></script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/container/container-min.js"></script>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('/includes/zero.css') }}" />
+
+ <script type="text/javascript"
+ src="{{ request.staticdirect('/includes/help.js') }}" >
+ </script>
+
+ <script type="text/javascript">
+ YAHOO.namespace("cc.zero");
+
+ YAHOO.cc.zero.on_click = function(event) {
+
+ YAHOO.util.Dom.get("details-submit").disabled = !(
+ YAHOO.util.Dom.get("confirm_details").checked &&
+ YAHOO.util.Dom.get("confirm_understand").checked);
+
+ } // on_click
+
+ YAHOO.util.Event.onDOMReady(function() {
+
+ // connect event handlers for the check boxes
+ YAHOO.util.Event.addListener("confirm_details", "click", YAHOO.cc.zero.on_click);
+ YAHOO.util.Event.addListener("confirm_understand", "click", YAHOO.cc.zero.on_click);
+
+ });
+ </script>
+{% endblock headers %}
+
+{% block sidebar %}{% endblock %}
+
+{% block page_header_title %}CC0 Waiver{% endblock %}
+
+{% block body %}
+ <div class="yui-skin-sam">
+ <div id="waiver_ui" class="yui-module">
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "license.zero.additional_metadata")|safe }}
+ <a href="" id="embedded_metadata" class="helpLink">
+ <img src="{{ request.staticdirect('/images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"/></a>
+ </p>
+
+ <div id="help_embedded_metadata" class="help_panel">
+ <div class="hd">{{ cctrans(locale, "Embedded Metadata")|safe }}</div>
+ <div class="bd">
+ {{ cctrans(locale, "license.zero.metadata_help")|safe }}
+ </div>
+ </div>
+
+ <form id="form-details" action="confirm">
+ <input type="hidden" name="license-class" value="zero" />
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.your_name")|safe }}</div>
+ <div class="form-answer">
+ <input name="name" class="form-field"/>
+ </div>
+ </div>
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.your_url")|safe }}</div>
+ <div class="form-answer">
+ <input name="actor_href" class="form-field"/>
+ <a href="" id="url" class="helpLink">
+ <img src="{{ request.staticdirect('/images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" /></a>
+ </div>
+ </div>
+
+ <div id="help_url" class="help_panel">
+ <div class="hd">{{ cctrans(locale, "util.your_url")|safe }}</div>
+ <div class="bd">
+ {{ cctrans(locale, "license.zero.your_url_help")|safe }}
+ </div>
+ </div>
+
+
+ <div class="form-row">
+ <div class="form-question">
+ {{ cctrans(locale, "util.title_of_work")|safe }}
+ </div>
+ <div class="form-answer">
+ <input name="work_title" class="form-field" />
+ </div>
+ </div>
+
+ <div class="form-row">
+ <div class="form-question">{{ cctrans(locale, "util.territory")|safe }}</div>
+ <div class="form-answer">
+ <select name="work_jurisdiction" class="form-field">
+ <option value="-">---</option>
+ {% for c in country_list %}
+ <option value="{{ c[0] }}">{{ c[1] }}</option>
+ {% endfor %}
+ </select>
+
+ <a href="" id="country" class="helpLink">
+ <img src="{{ request.staticdirect('/images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}"
+ /></a>
+ </div>
+ </div>
+
+ <div id="help_country" class="help_panel">
+ <div class="hd">{{ cctrans(locale, "util.territory")|safe }}</div>
+ <div class="bd">
+ {{ cctrans(locale, "license.zero.country_help")|safe }}
+ </div>
+ </div>
+
+
+ <div class="form-row">
+ <div class="form-question">
+ <input name="confirm" type="checkbox"
+ id="confirm_details" class="form-field"
+ value="confirm" />
+ </div>
+ <div class="form-answer">
+ <label for="confirm">
+ {{ cctrans(locale, "license.zero.confirm_waiver")|safe }}
+ </label>
+ </div>
+ </div>
+
+ <div class="form-row">
+ <div class="form-question"> </div>
+ <div class="form-answer">
+ <iframe class="form-field" src="/publicdomain/zero/1.0/legalcode-plain">
+ </iframe>
+ </div>
+ </div>
+
+ <div class="form-row">
+ <div class="form-question">
+ <input name="understand" type="checkbox"
+ id="confirm_understand" class="form-field"
+ value="confirm" />
+ </div>
+ <div class="form-answer">
+ <label for="understand">
+ {{ cctrans(locale, "license.zero.confirm_reading")|safe }}
+ </label>
+ </div>
+ </div>
+
+ <div>
+ <input type="hidden" name="lang" value="{{ target_lang }}" />
+ </div>
+
+ <div class="form-row">
+ <div class="form-question"> </div>
+ <div class="form-answer">
+ <input type="submit" id="details-submit" disabled=""
+ name="field1" value="{{ cctrans(locale, 'util.continue')|safe }}">
+ </div>
+ </div>
+
+ </form>
+
+ <br clear="both"/>
+ </div>
+ </div>
+
+ </div>
+{% endblock body %}
diff --git a/cc/engine/templates/includes/engine_languages.html b/cc/engine/templates/includes/engine_languages.html
new file mode 100644
index 0000000..aceddd3
--- /dev/null
+++ b/cc/engine/templates/includes/engine_languages.html
@@ -0,0 +1,15 @@
+<div class="licensebox" style="background:#FAFAD6;">
+
+ <span dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ {{ cctrans(locale, "deed.view_in")|safe }}
+ </span>
+
+ <br/>
+
+ {% for lang in active_languages %}
+ <a title="{{ lang.name }}"
+ href="?lang={{ lang.code}}"
+ hreflang="{{ lang.code }}"
+ xml:lang="{{ lang.code }}">{{ lang.name }}</a>
+ {% endfor %}
+</div>
diff --git a/cc/engine/templates/includes/language_javascript.html b/cc/engine/templates/includes/language_javascript.html
new file mode 100644
index 0000000..b457f64
--- /dev/null
+++ b/cc/engine/templates/includes/language_javascript.html
@@ -0,0 +1,12 @@
+<script type="text/javascript">
+function setCookie(name, value, expires, path, domain, secure) {
+ document.cookie= name + "=" + escape(value) +
+ ((expires) ? "; expires=" + expires.toGMTString() : "") +
+ ((path) ? "; path=" + path : "") +
+ ((domain) ? "; domain=" + domain : "") +
+ ((secure) ? "; secure" : "");
+}
+var expiry = new Date();
+expiry.setTime(expiry.getTime()+(5*365*24*60*60*1000));
+setCookie('lang','%s', expiry, '/');
+</script>
diff --git a/cc/engine/templates/includes/more_metadata.html b/cc/engine/templates/includes/more_metadata.html
new file mode 100644
index 0000000..20e13b8
--- /dev/null
+++ b/cc/engine/templates/includes/more_metadata.html
@@ -0,0 +1,160 @@
+<div class="more-metadata-container">
+ <h4>{{ cctrans(locale, "license.additional_info")|safe }}</h4>
+ <p>
+ <span>
+ {{ cctrans(locale, "license.additional_fields_optional")|safe }}
+ </span>
+ <a href="" id="embedded_metadata" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" />
+ </a>
+ </p>
+
+
+ <div class="more-metadata">
+ <div>
+ {{ cctrans(locale, "license.tell_format")|safe }}
+ </div>
+
+ <select name="field_format">
+ <option value="" selected="selected">
+ {{ cctrans(locale, "util.Other")|safe }}</option>
+ <option value="Sound">
+ {{ cctrans(locale, "util.Audio")|safe }}</option>
+ <option value="MovingImage">
+ {{ cctrans(locale, "util.Video")|safe }}</option>
+ <option value="StillImage">
+ {{ cctrans(locale, "util.Image")|safe }}</option>
+ <option value="Text">
+ {{ cctrans(locale, "util.Text")|safe }}</option>
+ <option value="Dataset">
+ {{ cctrans(locale, "util.Dataset")|safe }}</option>
+ <option value="InteractiveResource">
+ {{ cctrans(locale, "util.Interactive")|safe }}</option>
+ </select>
+ </div>
+
+ <div class="more-metadata">
+ <div>{{ cctrans(locale, "util.title_of_work")|safe }}</div>
+
+ <input type="text" name="field_worktitle" value="" />
+ <a href="" id="worktitle" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" />
+ </a>
+ </div>
+
+ <div class="more-metadata">
+ <div>
+ {{ cctrans(locale, "util.attribute_to_name")|safe }}
+ </div>
+
+ <input type="text" name="field_attribute_to_name" />
+ <a href="" id="attribution_name" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" />
+ </a>
+ </div>
+
+
+ <div class="more-metadata">
+ <div>
+ {{ cctrans(locale, "util.attribute_to_url")|safe }}
+ </div>
+
+ <input type="text" name="field_attribute_to_url" value="" />
+ <a href="" id="attribution_url" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" />
+ </a>
+ </div>
+
+ <div class="more-metadata">
+ <div>{{ cctrans(locale, "util.source_work")|safe }}</div>
+
+ <input type="text" name="field_sourceurl" value=""/>
+ <a href="" id="source_work" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" />
+ </a>
+ </div>
+
+ <div class="more-metadata">
+ <div>{{ cctrans(locale, "util.more_permissions_url")|safe }}</div>
+
+ <input type="text" name="field_morepermissionsurl" value=""/>
+ <a href="" id="more_permissions_url" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" />
+ </a>
+ </div>
+
+ <div id="help_embedded_metadata">
+ <div class="hd">{{ cctrans(locale, "Embedded Metadata")|safe }}</div>
+ <div class="bd">
+ {{ cctrans(locale, "license.metadata_help")|safe }}
+ </div>
+ </div>
+
+ <div id="help_source_work">
+ <div class="hd">
+ <span>{{ cctrans(locale, "util.source_work")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "jargon.source_work_description")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_worktitle">
+ <div class="hd">
+ <span>{{ cctrans(locale, "util.title_of_work")|safe }}</span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "The title of the work you are licensing.")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_attribution_name">
+ <div class="hd">
+ <span>
+ {{ cctrans(locale, "util.attribute_to_name")|safe }}
+ </span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "The name users of the work should give attribution to. For example, the name of the work's author.")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_attribution_url">
+ <div class="hd">
+ <span>
+ {{ cctrans(locale, "util.attribute_to_url")|safe }}
+ </span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "The URL users of the work should link to. For example, the work's page on the author's site.")|safe }}
+ </p>
+ </div>
+ </div>
+
+ <div id="help_more_permissions_url">
+ <div class="hd">
+ <span>
+ {{ cctrans(locale, "util.more_permissions_url")|safe }}
+ </span>
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "A URL where a user can obtain information about clearing rights that are not pre-cleared by your CC license.")|safe }}
+ </p>
+ </div>
+ </div>
+
+</div>
diff --git a/cc/engine/templates/includes/other_content.html b/cc/engine/templates/includes/other_content.html
new file mode 100644
index 0000000..5d10507
--- /dev/null
+++ b/cc/engine/templates/includes/other_content.html
@@ -0,0 +1,8 @@
+<h4>Other Content</h4>
+<ul class="archives">
+ <li><a href="http://creativecommons.org">Home</a></li>
+ <li><a href="http://creativecommons.org/weblog/">Blog</a></li>
+ <li><a href="https://creativecommons.net/donate/">Donate</a></li>
+ <li><a href="http://wiki.creativecommons.org">Wiki</a></li>
+ <li><a href="http://search.creativecommons.org">Search</a></li>
+</ul>
diff --git a/cc/engine/templates/includes/translations.html b/cc/engine/templates/includes/translations.html
new file mode 100644
index 0000000..e8ef4ab
--- /dev/null
+++ b/cc/engine/templates/includes/translations.html
@@ -0,0 +1,16 @@
+<div id="languages">
+ <span dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ {{ cctrans(locale, "deed.view_in")|safe }}
+ </span>
+ <br/>
+
+ {% for lang in active_languages %}
+ <a title="{{ lang.name }}"
+ rel="alternate nofollow frbr:translation"
+ rev="frbr:translationOf"
+ href="./deed.{{ lang.code}}"
+ hreflang="{{ lang.code }}"
+ xml:lang="{{ lang.code }}">{{ lang.name }}</a>
+ {% endfor %}
+</div>
+
diff --git a/cc/engine/templates/licenses/devnations_deed.html b/cc/engine/templates/licenses/devnations_deed.html
new file mode 100644
index 0000000..9921e32
--- /dev/null
+++ b/cc/engine/templates/licenses/devnations_deed.html
@@ -0,0 +1,79 @@
+{% extends "macros_templates/deed.html" %}
+
+{% block page_top %}
+ <!-- RDF code here for backwards compatibility. Please use the
+ license's RDFa instead. -->
+ <!-- {{ license.rdf|safe }} -->
+{% endblock %}
+
+{% block license_name %}
+ <span property="dc:title"
+ style="display: inline;">{{ license_title }}</span>
+{% endblock %}
+
+{% block body %}
+ <div id="deed-rights"
+ dir="{{ get_ltr_rtl}}" style="{{ is_rtl_align }}">
+
+ <div id="deed-newer" style="text-align:center">
+ <h3>{{ cctrans(locale, "deed.retired")|safe }}</h3>
+ </div>
+
+ <h3 rel="cc:permits"
+ resource="http://creativecommons.org/ns#Reproduction">{{ cctrans(locale, "deed.You_are_free")|safe }}</h3>
+
+ <ul class="license-properties">
+ <li class="license share" rel="cc:permits"
+ resource="http://creativecommons.org/ns#Distribution">
+ {{ cctrans(locale, "deed.free_copy_distribute")|safe }}
+ </li>
+
+ <li class="license remix" rel="cc:permits"
+ resource="http://creativecommons.org/ns#DerivativeWorks">
+ {{ cctrans(locale, "deed.free_derivative")|safe }}
+ </li>
+ </ul>
+
+ </div>
+
+ <div id="deed-conditions">
+ <h3>{{ cctrans(locale, "deed.under_conditions")|safe }}</h3>
+ <ul class="license-properties"
+ dir="{{ get_ltr_rtl}}" style="{{ is_rtl_align }}">
+
+ <li class="license devnations"><strong>Developing Nations</strong>.
+ You may exercise the above freedoms in developing
+ nations only.
+ </li>
+
+ <li rel="cc:requires"
+ resource="http://creativecommons.org/ns#Attribution"
+ class="license by">
+ <p>
+ <strong>{{ cctrans(locale, "char.by_title")|safe }}</strong>.
+ <span>
+ {{ cctrans(locale, "char.by_brief")|safe }}
+ </span>
+ </p>
+ </li>
+
+ <li>{{ cctrans(locale, "deed.notice")|safe }}</li>
+ <li>{{ cctrans(locale, "deed.permission")|safe }}</li>
+
+ <li>
+ In no way are any of the following rights affected by
+ the above:
+
+ <ul>
+ <li>
+ {{ cctrans(locale, "deed.fair_use")|safe }}
+ </li>
+ <li>
+ {{ cctrans(locale, "deed.publicity_rights")|safe }}
+ </li>
+ </ul>
+ </li>
+
+ </ul>
+ </div>
+{% endblock %}
diff --git a/cc/engine/templates/licenses/pdmark_deed.html b/cc/engine/templates/licenses/pdmark_deed.html
new file mode 100644
index 0000000..f275172
--- /dev/null
+++ b/cc/engine/templates/licenses/pdmark_deed.html
@@ -0,0 +1,198 @@
+{% extends "macros_templates/pdtool_deed.html" %}
+
+{% block page_top %}
+ <!-- RDF code here for backwards compatibility. Please use the
+ license's RDFa instead. -->
+ <!-- {{ license.rdf|safe }} -->
+{% endblock %}
+
+{% block license_name -%}
+ <span property="dc:title dct:title" style="display: inline;">{{ license_title }}</span>
+{%- endblock %}
+
+{% block body %}
+ <div id="deed-rights"
+ dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ <h3>{{ cctrans(locale, "deed.zero.no_copyright")|safe }}</h3>
+ <ul class="license-properties" style="width: 550px;">
+ <li class="license publicdomain">
+ {{ cctrans(locale, "deed.mark.no_law")|safe }}
+ </li>
+
+ <li class="license" style="display:none" id="work-details-block">
+ <div>
+ <ul>
+ <li class="license usage-guidelines" style="display:none;">
+ <a href="#" id="usage_guidelines"
+ name="usage_guidelines">Non-binding use guidelines</a>
+ apply to this work.
+ </li>
+ <li class="license nolaw" style="display:none;">
+ The person who identified this public domain work has also
+ waived any and all copyrights he or she may have in the
+ work, including all related and neighboring rights, to the
+ extent allowed by law.
+ <a href="" class="helpLink" id="zero_help"
+ name="zero_help">
+ <img src="http://creativecommons.org/images/information.png"
+ alt="Information" style="border: none; float:inherit;
+ margin-bottom:-5px" /></a>
+
+ </li>
+
+ <li style="padding-bottom: 0.5em; display:none;" id="work-details-title"><strong>Work Details</strong></li>
+ <li style="display:none">
+ <span class="work-details-item-title">
+ {{ cctrans(locale, "deed.workdetails.work")|safe }}
+ </span>
+ <span id="meta_title" class="work-details-item-value"></span>
+ </li>
+ <li style="display:none">
+ <span class="work-details-item-title">{{ cctrans(locale, "deed.workdetails.author")|safe }}</span>
+ <span id="meta_author" class="work-details-item-value"></span>
+ </li>
+ <li style="display:none">
+ <span class="work-details-item-title">{{ cctrans(locale, "deed.workdetails.curator")|safe }}</span>
+ <span id="meta_curator" class="work-details-item-value"></span>
+ </li>
+
+ <li id="work-attribution-container" style="margin-top: 25px; display:none;">
+ <strong>
+ {{ cctrans(locale, "deed.cite_this_work")|safe }}
+ </strong>
+ <br />
+ <input id="work-attribution" value="" />
+ </li>
+
+ </ul>
+ </div>
+ </li>
+
+ </ul>
+ </div>
+ <div id="deed-understanding">
+ <ul class="license-properties">
+ <li class="license">
+ <strong>{{ cctrans(locale, "util.other_information")|safe }}</strong>
+ <ul>
+ <li>
+ {{ cctrans(locale, "deed.mark.other_info.jurisdictions")|safe }}
+ </li>
+ <li>
+ {{ cctrans(locale, "deed.mark.other_info.other_rights")|safe }}
+ </li>
+ <li>
+ {{ cctrans(locale, "deed.mark.other_info.moral_rights")|safe }}
+ </li>
+ <li>
+ {{ cctrans(locale, "deed.mark.other_info.no_warranty")|safe }}
+ </li>
+ <li>
+ {{ cctrans(locale, "deed.mark.other_info.no_endorsement")|safe }}
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <!-- <div id="help_usage_guidelines">
+ <div class="hd">
+ Non-binding Usage Guidelines
+ </div>
+ <div class="bd">
+ <p>
+ <em>[Text to come]</em>
+ </p>
+ </div>
+ </div> -->
+ <div id="help_endorsement">
+ <div class="hd">
+ {{ cctrans(locale, "util.endorsement")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.endorsement")|safe }}
+ </p>
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#Do_I_need_to_be_aware_of_anything_else_when_providing_attribution_or_credit.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </p>
+ </div>
+ </div>
+
+ <div id="help_citation_help">
+ <div class="hd">
+ {{ cctrans(locale, "util.citation")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.citation")|safe }}
+ </p>
+ <p>
+ <a href="http://wiki.creativecommons.org/PDM_FAQ#Am_I_required_to_attribute_the_author_of_the_work.2C_or_the_person_who_applied_the_PDM_to_the_work.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </p>
+ </div>
+ </div>
+
+ <div id="help_moral_rights">
+ <div class="hd">
+ {{ cctrans(locale, "util.moralrights")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.moralrights")|safe }}
+ </p>
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#What_are_moral_rights.2C_and_how_could_I_exercise_them_to_prevent_uses_of_my_work_that_I_don.E2.80.99t_like.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </p>
+ </div>
+ </div>
+ <div id="help_publicity_rights">
+ <div class="hd">
+ {{ cctrans(locale, "util.other_rights")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.other_rights")|safe }}
+ </p>
+ <p>
+ <a href="http://wiki.creativecommons.org/PDM_FAQ#Are_there_other_laws_I_should_be_aware_of_that_might_restrict_my_ability_to_use_a_PDM-marked_work.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </p>
+ </div>
+ </div>
+ <div id="help_all_jurisdictions">
+ <div class="hd">{{ cctrans(locale, "util.term_of_copyright")|safe }}</div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.term_of_copyright")|safe }}
+ </p>
+ <p>
+ <a href="http://wiki.creativecommons.org/PDM_FAQ#Why_might_a_free_of_copyright_restrictions_in_one_jurisdiction_not_be_free_of_copyright_restrictions_everywhere.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </p>
+ </div>
+ </div>
+ </div>
+ <span id="referrer-metadata-container"></span>
+
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#Reproduction"></span>
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#DerivativeWorks"></span>
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#Distribution"></span>
+{% endblock body %}
+
+{% block footer %}
+ <a href="" id="disclaimer"
+ class="helpLink" name="disclaimer">{{ cctrans(locale, "util.Disclaimer")|safe }}</a>
+ <div id="cc-link">
+ <a rel="dc:creator dct:creator" href="http://creativecommons.org/">
+ <span property="dc:title dct:title">{{ cctrans(locale, "util.Creative_Commons")|safe }}</span>
+ </a>
+ </div>
+ <div id="help_disclaimer" style="text-align:left" class="help_panel">
+ <div class="hd">{{ cctrans(locale, "util.Disclaimer")|safe }}</div>
+ <div class="bd">
+ {{ cctrans(locale, "deed.mark.disclaimer")|safe }}
+ </div>
+ </div>
+{% endblock footer %}
+
+{% block use_this_license %}
+ <a id="get_this" href="/publicdomain/"
+ name="get_this">{{ cctrans(locale, "deed.mark.use_this_tool")|safe }}</a>
+{% endblock use_this_license %}
diff --git a/cc/engine/templates/licenses/publicdomain_deed.html b/cc/engine/templates/licenses/publicdomain_deed.html
new file mode 100644
index 0000000..c2e3554
--- /dev/null
+++ b/cc/engine/templates/licenses/publicdomain_deed.html
@@ -0,0 +1,47 @@
+{% extends "macros_templates/deed.html" %}
+
+{% block title -%}
+ Creative Commons —
+ {{ cctrans(locale, "deed.pd.title_plain")|safe }}
+{%- endblock title %}
+
+{% block legalcode_block %}{% endblock %}
+
+{% block page_top %}
+ <!-- RDF code here for backwards compatibility. Please use the
+ license's RDFa instead. -->
+ <!-- {{ license.rdf|safe }} -->
+{% endblock %}
+
+{% block license_name %}
+ <span property="dc:title" style="display: inline;"
+ datatype="">{{ cctrans(locale, "deed.pd.title")|safe }}</span>
+{% endblock %}
+
+{% block body %}
+ <div id="librepd">
+ <a href="http://freedomdefined.org/">
+ <img src="/images/deed/seal.png" style="border: 0"
+ alt="{{ cctrans(locale, 'This license is acceptable for Free Cultural Works.')|safe }}" />
+ </a>
+ </div>
+
+ {% if license.deprecated %}
+ <div id="deed-newer" style="text-align:center">
+ <h3>{{ cctrans(locale, "deed.retired")|safe }}</h3>
+ </div>
+ {% endif %}
+
+ {{ cctrans(locale, "deed.pd")|safe }}
+
+ <div id="help_use_zero">
+ <div class="hd">CC0 for Public Domain Dedication</div>
+ <div class="bd">
+ {{ cctrans(locale, "deed.pd.help_use_zero")|safe }}
+ </div>
+ </div>
+
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#Reproduction"></span>
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#DerivativeWorks"></span>
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#Distribution"></span>
+{% endblock %}
diff --git a/cc/engine/templates/licenses/sampling_deed.html b/cc/engine/templates/licenses/sampling_deed.html
new file mode 100644
index 0000000..b668dff
--- /dev/null
+++ b/cc/engine/templates/licenses/sampling_deed.html
@@ -0,0 +1,87 @@
+{% extends "macros_templates/deed.html" %}
+
+{% block license_name %}
+ <span property="dc:title"
+ style="display: inline;">{{ license_title }}</span>
+{% endblock %}
+
+{% block body %}
+ <div id="deed-rights"
+ dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ {% if license.deprecated %}
+ <div id="deed-newer"
+ style="text-align:center">
+ <h3>
+ {{ cctrans(locale, "deed.retired")|safe }}
+ </h3>
+ </div>
+ {% endif %}
+
+ <h3>{{ cctrans(locale, "deed.You_are_free")|safe }}</h3>
+ <ul class="license-properties">
+ {% if license.license_code == 'nc-sampling+' %}
+ <li class="license samplingplus">
+ {{ cctrans(locale, "deed.free_sample_nc")|safe }}
+ </li>
+ {% else %}
+ <li class="license sampling">
+ {{ cctrans(locale, "deed.free_sample")|safe }}
+ </li>
+ {% endif %}
+
+ {% if license.license_code in ('nc-sampling+', 'sampling+') %}
+ <li class="license samplingplus">
+ {{ cctrans(locale, "deed.free_copy_distribute_noncommercial")|safe }}
+ </li>
+ {% endif %}
+ </ul>
+
+ </div>
+ <div id="deed-conditions">
+ <h3>{{ cctrans(locale, "deed.under_conditions")|safe }}</h3>
+ <ul class="license-properties"
+ dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ <li class="license by">
+ {{ cctrans(locale, "char.by_brief")|safe }}
+ </li>
+ {% if license.license_code == 'nc-sampling+' %}
+ <li class="license nc">
+ {{ cctrans(locale, "char.nc_brief")|safe }}
+ </li>
+ {% else %}
+ <li>
+ {{ cctrans(locale, "char.na_brief")|safe }}
+ </li>
+ {% endif %}
+
+ {% if license.license_code in ('nc-sampling+', 'sampling+') %}
+ <li>
+ {{ cctrans(locale, "deed.notice")|safe }}
+ </li>
+ {% else %}
+ <li>
+ {{ cctrans(locale, "deed.notice_withoutdistribution")|safe }}
+ </li>
+ <li>
+ {{ cctrans(locale, "char.no_brief")|safe }}
+ </li>
+ {% endif %}
+
+ <li>
+ In no way are any of the following rights affected by
+ the above:
+
+ <ul>
+ <li>
+ {{ cctrans(locale, "deed.fair_use")|safe }}
+ </li>
+ <li>
+ {{ cctrans(locale, "deed.publicity_rights")|safe }}
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+
+ <span id="referrer-metadata-container" />
+{% endblock %}
diff --git a/cc/engine/templates/licenses/standard_deed.html b/cc/engine/templates/licenses/standard_deed.html
new file mode 100644
index 0000000..c26e40c
--- /dev/null
+++ b/cc/engine/templates/licenses/standard_deed.html
@@ -0,0 +1,269 @@
+{% extends "macros_templates/deed.html" %}
+
+{% block title -%}
+ Creative Commons — {{ license.title(target_lang) }}
+ — CC {{license.license_code.upper() }} {{ license.version }}
+{%- endblock %}
+
+{% block page_top %}
+ <!-- RDF code here for backwards compatibility. Please use the
+ license's RDFa instead. -->
+ <!-- {{ license.rdf|safe }} -->
+{% endblock %}
+
+{% block license_name %}
+ <span property="dc:title dct:title"
+ style="display: inline;">{{ license_title }}</span>
+ (<span property="dc:identifier dct:identifier"
+ style="display: inline;">CC {{ license.license_code.upper() }} {{ license.version }}</span>)
+{% endblock %}
+
+{% block body %}
+ {% if license.license_code in ('by', 'by-sa') %}
+ <div id="libre">
+ <a href="http://freedomdefined.org/">
+ <img src="/images/deed/seal.png" style="border: 0"
+ alt="{{ cctrans(locale, 'This license is acceptable for Free Cultural Works.')|safe }}" />
+ </a>
+ </div>
+ {% endif %}
+
+ <div id="deed-rights"
+ dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ {% if license.deprecated %}
+ <div id="deed-newer" style="text-align:center">
+ <h3>{{ cctrans(locale, "deed.retired")|safe }}</h3>
+ </div>
+ {% endif %}
+
+ {% if license.jurisdiction.code not in ['', 'es'] %}
+ <a href="/worldwide/{{ license.jurisdiction.code }}/">
+ <img src="/images/international/{{ license.jurisdiction.code }}.png"
+ alt="{{ license.jurisdiction.code }}"
+ style="border: 1px solid #C0C0C0"/>
+ </a>
+ {% endif %}
+
+ <h3 resource="http://creativecommons.org/ns#Reproduction"
+ rel="cc:permits">{{ cctrans(locale, "deed.You_are_free")|safe }}</h3>
+ <ul class="license-properties">
+ <li class="license share"
+ rel="cc:permits"
+ resource="http://creativecommons.org/ns#Distribution">
+ {{ cctrans(locale, "deed.free_copy_distribute")|safe }}
+ </li>
+
+ {% if not 'nd' in license.license_code %}
+ <li class="license remix"
+ rel="cc:permits"
+ resource="http://creativecommons.org/ns#DerivativeWorks">
+ {{ cctrans(locale, "deed.free_derivative")|safe }}
+ </li>
+ {% endif %}
+
+ {% if "http://creativecommons.org/ns#CommercialUse" not in license.prohibits %}
+ <li class="license commercial">
+ {{ cctrans(locale, "deed.free_commercial")|safe }}
+ </li>
+ {% endif %}
+ <li id="more-container"
+ class="license-hidden">
+ <span id="devnations-container" />
+ </li>
+ </ul>
+
+ </div>
+ <div id="deed-conditions">
+ <h3>{{ cctrans(locale, "deed.under_conditions")|safe }}</h3>
+
+ <ul dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}"
+ class="license-properties">
+ {% for attr in conditions %}
+ <li class="license {{ attr.icon_name }}"
+ rel="{{ attr.predicate }}" resource="{{ attr.object }}">
+ <p>
+ <strong>{{ attr.char_title|safe }}</strong> —
+ {% if attr['char_code'] == 'by' %}
+ <span id="attribution-container">
+ {{ attr.char_brief|safe }}
+ </span>
+ {% else %}
+ {{ attr.char_brief|safe }}
+ {% endif %}
+ <span id="{{ attr.icon_name }}-more-container" />
+ </p>
+
+ {% if attr['char_code'] == 'by' %}
+ <p id="work-attribution-container" style="display:none;">
+ <strong>
+ {{ cctrans(locale, "deed.attribute_this_work")|safe }}
+ </strong>
+ <br/>
+ <input id="work-attribution" value="" type="text"
+ readonly="readonly" onclick="this.select()"
+ onfocus="document.getElementById('work-attribution').select();"/>
+ <input id="license-code" type="hidden"
+ value="CC {{ license.license_code.upper() }} {{ license.version }}" />
+ <input id="license-url" type="hidden"
+ value="{{ license.uri }}" />
+ <a href="" id="attribution_help" class="helpLink">
+ <img src="{{ request.staticdirect('images/information.png') }}"
+ alt="{{ cctrans(locale, 'Information')|safe }}" />
+ </a>
+ </p>
+
+ <div id="help_attribution_help" class="help_panel">
+ <div class="hd">
+ {{ cctrans(locale, 'What does "Attribute this work" mean?')|safe }}
+ </div>
+ <div class="bd">
+ {{ cctrans(locale, "The page you came from contained embedded licensing metadata, including how the creator wishes to be attributed for re-use. You can use the HTML here to cite the work. Doing so will also include metadata on your page so that others can find the original work as well.")|safe }}
+ </div>
+ </div>
+ {% endif %}
+ </li>
+ {% endfor %}
+ </ul>
+ </div>
+
+ <div id="deed-understanding">
+ <h3>
+ {{ cctrans(locale, "deed.with_the_understanding")|safe }}
+ </h3>
+
+ <ul class="understanding license-properties">
+ <li class="license">
+ <strong>{{ cctrans(locale, "util.waiver")|safe }}</strong>
+ —
+ {{ cctrans(locale, "deed.permission")|safe }}
+ </li>
+
+ <li class="license">
+ <strong>{{ cctrans(locale, "util.Public_Domain")|safe }}</strong>
+ —
+ {{ cctrans(locale, "deed.public_domain")|safe }}
+ </li>
+
+ <li class="license">
+ <strong>{{ cctrans(locale, "util.other_rights")|safe }}</strong>
+ —
+ {{ cctrans(locale, "deed.other_rights")|safe }}
+
+ <ul>
+ <li>
+ {{ cctrans(locale, "deed.fair_use")|safe }}
+ </li>
+
+ {% if license.license_code.find('nd') >= 0 or license.jurisdiction.code != 'us' %}
+ <li>
+ {{ cctrans(locale, "deed.moralrights")|safe }}
+ </li>
+ {% endif %}
+ {% if license.jurisdiction.code == 'us' and license.license_code.find('nd') < 0 %}
+ <li>
+ {{ cctrans(locale, "deed.moralrights-remix.us")|safe }}
+ </li>
+ {% endif %}
+ </span>
+
+ <li>
+ {{ cctrans(locale, "deed.publicity_rights")|safe }}
+ </li>
+ </ul>
+ </li>
+
+ <li rel="cc:requires"
+ resource="http://creativecommons.org/ns#Notice">
+ <strong>{{ cctrans(locale, "util.notice")|safe }}</strong>
+ —
+ {{ cctrans(locale, "deed.notice")|safe }}
+ </li>
+ </ul>
+
+ {% if license.superseded %}
+ <div id="deed-newer" tal:condition="">
+ <p>
+ {{ cctrans(locale, "deed.superseded",
+ current_version_url=license.current_version.url)|safe }}
+ </p>
+ </div>
+ {% endif %}
+
+ <div id="help_waived" class="help_panel">
+ <div class="hd">
+ {{ cctrans(locale, "deed.permission.help.title")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.permission.help")|safe }}
+ </p>
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#Can_I_change_the_terms_of_a_CC_license_or_waive_some_of_its_conditions.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>.
+ </p>
+ </div>
+ </div>
+
+ <div id="help_public_domain" class="help_panel">
+ <div class="hd">
+ {{ cctrans(locale, "deed.public_domain.help.title")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.public_domain.help")|safe }}
+ </p>
+
+ <p>
+ <a href="http://wiki.creativecommons.org/Public_domain"
+ >{{ cctrans(locale, "util.learn_more")|safe }}</a>.</p>
+ </div>
+
+ </div>
+
+ <div id="help_fair_use" class="help_panel">
+ <div class="hd">
+ {{ cctrans(locale, "deed.fair_use.help.title")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.fair_use.help")|safe }}
+ </p>
+
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#Do_Creative_Commons_licenses_affect_fair_use.2C_fair_dealing_or_other_exceptions_to_copyright.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>.</p>
+ </div>
+ </div>
+
+ <div id="help_moral_rights" class="help_panel">
+ <div class="hd">
+ {{ cctrans(locale, "deed.moralrights.help.title")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.moralrights.help")|safe }}
+ </p>
+
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#I_don.E2.80.99t_like_the_way_a_person_has_used_my_work_in_a_derivative_work_or_included_it_in_a_collective_work.3B_what_can_I_do.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>.
+ </p>
+
+ </div>
+ </div>
+
+ <div id="help_publicity_rights" class="help_panel">
+ <div class="hd">
+ {{ cctrans(locale, "deed.publicity_rights.help.title")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.publicity_rights.help")|safe }}
+ </p>
+
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#When_are_publicity_rights_relevant.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>.
+ </p>
+ </div>
+ </div>
+
+ </div>
+ <span id="referrer-metadata-container" />
+{% endblock %}
diff --git a/cc/engine/templates/licenses/zero_deed.html b/cc/engine/templates/licenses/zero_deed.html
new file mode 100644
index 0000000..91c6299
--- /dev/null
+++ b/cc/engine/templates/licenses/zero_deed.html
@@ -0,0 +1,184 @@
+{% extends "macros_templates/pdtool_deed.html" %}
+
+{% block page_top %}
+ <!-- RDF code here for backwards compatibility. Please use the
+ license's RDFa instead. -->
+ <!-- {{ license.rdf|safe }} -->
+{% endblock %}
+
+{% block license_name %}
+ <small>
+ <span property="dc:title dct:title"
+ style="display:inline !important;">{{ license_title }}</span>
+ (<span property="dc:identifier dct:identifier"
+ style="display:inline !important;">CC0 1.0</span>)
+ </small>
+ <br />
+ {{ cctrans(locale, "util.public_domain_dedication")|safe }}
+{% endblock %}
+
+{% block body %}
+ <div id="deed-rights"
+ dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ <h3>{{ cctrans(locale, "deed.zero.no_copyright")|safe }}</h3>
+ <div id="librepd">
+ <a href="http://freedomdefined.org/">
+ <img src="/images/deed/seal.png" border="0"
+ alt="{{ cctrans(locale, 'This license is acceptable for Free Cultural Works.')|safe }}" />
+ </a>
+ </div>
+ <ul class="license-properties" style="width: 550px;">
+ <li class="license nolaw">
+ <p id="nolaw-text" style="margin-bottom:1em;">
+ {{ cctrans(locale, "deed.zero.nocopyright-text")|safe }}
+ </p>
+ <p>
+ {{ cctrans(locale, "deed.zero.no-endorsment")|safe }}
+ </p>
+ </li>
+
+ <li class="license" style="display:none" id="work-details-block">
+ <div>
+ <ul>
+ <li class="license usage-guidelines" style="display:none;">
+ <a href="#" id="usage_guidelines"
+ name="usage_guidelines">Non-binding use guidelines</a>
+ apply to this work.
+ </li>
+
+ <li style="padding-bottom: 0.5em; display:none;" id="work-details-title">
+ <strong>Work Details</strong>
+ </li>
+ <li style="display:none">
+ <span class="work-details-item-title">
+ {{ cctrans(locale, "deed.workdetails.work")|safe }}
+ </span>
+ <span id="meta_title" class="work-details-item-value"></span>
+ </li>
+ <li style="display:none">
+ <span class="work-details-item-title">
+ {{ cctrans(locale, "deed.workdetails.affirmer")|safe }}
+ </span>
+ <span id="meta_affirmer" class="work-details-item-value"></span>
+ </li>
+
+ <li id="work-attribution-container" style="margin-top: 25px; display:none;">
+ <strong>
+ {{ cctrans(locale, "deed.cite_this_work")|safe }}
+ </strong>
+ <br />
+ <input id="work-attribution" value="" />
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="deed-understanding">
+ <ul class="license-properties">
+
+ <li class="license">
+ <strong>{{ cctrans(locale, "util.other_information")|safe }}</strong>
+ <ul>
+ <li>
+ {{ cctrans(locale, "deed.zero.other_info.other_rights")|safe }}
+ </li>
+
+ <li>
+ {{ cctrans(locale, "deed.zero.other_info.no_warranty")|safe }}
+ </li>
+
+ <li>
+ {{ cctrans(locale, "deed.zero.other_info.no_endorsement")|safe }}
+ </li>
+ </ul>
+ </li>
+ </ul>
+
+ <div id="help_publicity_rights">
+ <div class="hd">{{ cctrans(locale, "util.other_rights")|safe }}</div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.other_rights")|safe }}
+ </p>
+
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#When_are_publicity_rights_relevant.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>.
+ </p>
+ </div>
+ </div>
+
+ <div id="help_endorsement">
+ <div class="hd">{{ cctrans(locale, "util.endorsement")|safe }}</div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.endorsement")|safe }}
+ </p>
+
+ <p>
+ <a href="http://wiki.creativecommons.org/Frequently_Asked_Questions#Do_I_need_to_be_aware_of_anything_else_when_providing_attribution_or_credit.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>.
+ </p>
+ </div>
+ </div>
+
+ <div id="help_citation_help">
+ <div class="hd">{{ cctrans(locale, "util.citation")|safe }}</div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.citation")|safe }}
+ </p>
+ <p>
+ <a href="http://wiki.creativecommons.org/CC0_FAQ#Do_I_have_to_attribute_the_person_who_applied_CC0_to_their_work.3F">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </p>
+ </div>
+ </div>
+
+ <div id="help_who_is_affirmer">
+ <div class="hd">
+ {{ cctrans(locale, "util.who_is_affirmer")|safe }}
+ </div>
+ <div class="bd">
+ <p>
+ {{ cctrans(locale, "deed.help.who_is_affirmer")|safe }}
+ </p>
+ </div>
+ </div>
+
+
+ </div>
+
+ <span id='referrer-metadata-container'/>
+
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#Reproduction"></span>
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#DerivativeWorks"></span>
+ <span rel="cc:permits" resource="http://creativecommons.org/ns#Distribution"></span>
+{% endblock body %}
+
+{% block legalcode_block %}
+ <!--- hidden disclaimer text -->
+ <div id="help_disclaimer_popup" class="help_panel">
+ <div class="hd">
+ {{ cctrans(locale, "util.Disclaimer")|safe }}
+ </div>
+
+ <div class="bd">
+ {{ cctrans(locale, "deed.zero.disclaimer")|safe }}
+ </div>
+ </div>
+
+ <div id="deed-disclaimer">
+ <div class="summary">
+ {{ cctrans(locale, "deed.zero.human_summary")|safe }}
+ </div>
+
+ <div class="disclaimer">
+ <a href="#" id="disclaimer_popup" class="helpLink">
+ {{ cctrans(locale, "util.Disclaimer")|safe }}
+ </a>
+ </div>
+ </div>
+{% endblock legalcode_block %}
+
+{% block use_this_license %}
+ <a id="get_this" href="/publicdomain/">{{ cctrans(locale, "deed.use_this_tool")|safe }}</a>
+{% endblock use_this_license %}
diff --git a/cc/engine/templates/macros_templates/deed.html b/cc/engine/templates/macros_templates/deed.html
new file mode 100644
index 0000000..69b6897
--- /dev/null
+++ b/cc/engine/templates/macros_templates/deed.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dct="http://purl.org/dc/terms/"
+ xmlns:frbr="http://purl.org/vocab/frbr/core#"
+ lang="{{ target_lang }}">
+ <head about="{{ license.uri }}">
+ <title>
+ {%- block title -%}
+ Creative Commons — {{ license.title(target_lang) }}
+ {%- endblock -%}
+ </title>
+
+ <meta http-equiv="content-type" content="text/html;charset=utf-8" />
+
+ <link rel="stylesheet" type="text/css"
+ href="http://yui.yahooapis.com/2.6.0/build/container/assets/skins/sam/container.css"/>
+
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/deed3.css') }}"
+ media="screen" />
+ {% if is_rtl %}
+ <link rel="stylesheet" type="text/css" media="screen"
+ href="{{ request.staticdirect('includes/deed3-rtl.css') }}" />
+ {% endif %}
+ <link rel="stylesheet" type="text/css" media="print"
+ href="{{ request.staticdirect('includes/deed3-print.css') }}" />
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/jurisdictions.css') }}"
+ media="screen" />
+
+ <!--[if lt IE 7]>
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/deed3-ie.css') }}"
+ media="screen" />
+ <![endif]-->
+
+ <link rel="alternate" type="application/rdf+xml" href="rdf" />
+ {% include "includes/language_javascript.html" %}
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js">
+ </script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/connection/connection-min.js">
+ </script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/json/json-min.js">
+ </script>
+
+ <script type="text/javascript" src="http://scraper.creativecommons.org/js/deed.js">
+ </script>
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/container/container-min.js">
+ </script>
+
+ <script type="text/javascript"
+ src="{{ request.staticdirect('includes/help.js') }}">
+ </script>
+
+ {% block headers %}{% endblock %}
+ </head>
+
+ <body typeof="cc:License" about="{{ license.uri }}"
+ class="yui-skin-sam">
+
+ {% block page_top %}{% endblock %}
+
+ <div id="deed"
+ class="{% if color %}{{ color }}{% else %}green{% endif %}"
+ dir="{{ get_ltr_rtl }}"
+ style="{{ is_rtl_align }}">
+
+ <div id="deed-head">
+ <div id="cc-logo">
+ <img src="{{ request.staticdirect('images/deed/cc-logo.jpg') }}"
+ alt="cc logo" />
+ </div>
+ <div id="cc-link">
+ <a rel="dc:creator dct:creator" href="http://creativecommons.org/">
+ <span property="dc:title dct:title">Creative Commons</span>
+ </a>
+ </div>
+ <h1><span>Creative Commons License Deed</span></h1>
+
+ <div id="deed-license">
+ <h2>{% block license_name %}{% endblock %}</h2>
+ </div>
+ </div>
+
+ <div id="deed-main" dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ <div id="legalcode-block">
+ {% block legalcode_block %}
+ <!--- hidden disclaimer text -->
+ <div id="help_disclaimer_popup" class="help_panel">
+ <div class="hd">{{ cctrans(locale, "util.Disclaimer")|safe }}</div>
+ {% if license.jurisdiction.code == 'jp' %}
+ <div class="bd">
+ {{ cctrans(locale, "deed.disclaimer.jp")|safe }}
+ </div>
+ {% else %}
+ <div class="bd">
+ {{ cctrans(locale, "deed.disclaimer")|safe }}
+ </div>
+ {% endif %}
+ </div>
+
+ <div id="deed-disclaimer">
+ {% if multi_language %}
+ <div class="summary">
+ {{ cctrans(locale, "deed.human_summary_multilanguage")|safe }}
+ {% for legalcode_link, legalcode, legalcode_name in legalcodes %}
+ <a href="{{ legalcode_link }}">{{ legalcode_name }}</a>
+ {% endfor %}
+ </div>
+ {% else %}
+ <div class="summary">
+ {{ cctrans(locale, "deed.human_summary")|safe }}
+ </div>
+ {% endif %}
+
+ <div class="disclaimer">
+ <a href="#" id="disclaimer_popup" class="helpLink">
+ {{ cctrans(locale, "util.Disclaimer")|safe }}
+ </a>
+ </div>
+ </div>
+ {% endblock %}
+ </div>
+
+ <div id="deed-main-content" class="{{ license.jurisdiction.code }}">
+ {% block body %}{% endblock %}
+ </div>
+ </div>
+
+ </div>
+ <div id="footer">
+ <p>
+ {% if not license.deprecated %}
+ {% block use_this_license %}
+ <a id="get_this" href="/choose/results-one?license_code={{ license_code_quoted }}&jurisdiction={{ license.jurisdiction.code }}&version={{ license.version }}&lang={{ target_lang }}"
+ >{{ cctrans(locale, "deed.use_this_license")|safe }}</a>
+ {% endblock %}
+ {% endif %}
+ </p>
+ {% include "includes/translations.html" %}
+ </div>
+
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-2010376-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+ <script type="text/javascript">
+ document.write("<" + "script type='text/javascript' src='http://scraper.creativecommons.org/apps/deed?url=" + encodeURIComponent(document.referrer) + "&license_uri=" + encodeURIComponent(document.URL) + "&callback=YAHOO.cc.success'" + "><" + "/script>");
+ </script>
+ </body>
+</html>
diff --git a/cc/engine/templates/macros_templates/engine.pt b/cc/engine/templates/macros_templates/engine.html
similarity index 76%
copy from cc/engine/templates/macros_templates/engine.pt
copy to cc/engine/templates/macros_templates/engine.html
index 1d24db5..73f2f7e 100644
--- a/cc/engine/templates/macros_templates/engine.pt
+++ b/cc/engine/templates/macros_templates/engine.html
@@ -1,30 +1,24 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:tal="http://xml.zope.org/namespaces/tal"
- xmlns:i18n="http://xml.zope.org/namespaces/i18n"
- xmlns:metal="http://xml.zope.org/namespaces/metal"
- metal:define-macro="page"
- i18n:domain="cc_org">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title metal:define-slot="title">Page Title</title>
+ <title>{% block title %}Page Title{% endblock %}</title>
<link rel="stylesheet" type="text/css"
href="http://yui.yahooapis.com/2.6.0/build/container/assets/skins/sam/container.css"
/>
<link rel="stylesheet" type="text/css"
- href="/@@/cc/cc6/style.css"
- tal:attributes="href python:request.staticdirect('cc6/style.css')" />
+ href="{{ request.staticdirect('cc6/style.css') }}" />
<link rel="stylesheet" type="text/css" media="print"
- href="/@@/cc/cc6/print.css"
- tal:attributes="href python:request.staticdirect('cc6/print.css')" />
+ href="{{ request.staticdirect('cc6/print.css') }}" />
<link rel="stylesheet" type="text/css"
- tal:attributes="href python:request.staticdirect('cc6/engine.css')"
- href="/@@/cc/cc6/engine.css" />
- <link rel="stylesheet" type="text/css"
- href="/@@/cc/cc6/engine-rtl.css"
- tal:attributes="href python:request.staticdirect('cc6/engine-rtl.css')"
- tal:condition="is_rtl"/>
+ href="{{ request.staticdirect('cc6/engine.css') }}" />
+
+ {% if is_rtl %}
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('cc6/engine-rtl.css') }}" />
+ {% endif %}
<!--[if IE]>
<link rel="stylesheet" type="text/css"
@@ -36,14 +30,12 @@
<script type="text/javascript" src="http://yui.yahooapis.com/2.6.0/build/animation/animation-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.6.0/build/container/container-min.js"></script>
<script type="text/javascript"
- tal:attributes="src python:request.staticdirect('includes/license-results.js')"
- src="/@@/cc/includes/license-results.js" >
+ src="{{ request.staticdirect('includes/license-results.js') }}" >
</script>
<script type="text/javascript"
- tal:attributes="src python:request.staticdirect('cc6/site.js')"
- src="/@@/cc/cc6/site.js" ></script>
+ src="{{ request.staticdirect('cc6/site.js') }}" ></script>
- <metal:headers define-slot="headers" />
+ {% block headers %}{% endblock %}
</head>
@@ -66,26 +58,43 @@
</div>
</div>
- <div tal:attributes="dir get_ltr_rtl|nothing; style is_rtl_align|nothing;"
+ <div dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}"
id="page">
<div id="title" class="container_16">
- <h1 tal:attributes="dir get_ltr_rtl|nothing; style is_rtl_align|nothing;"
+ <h1 dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}"
class="grid_16">
- <metal:page_title define-slot="page-header-title"></metal:page_title>
+ {% block page_header_title %}{% endblock %}
</h1>
</div>
- <div tal:attributes="dir get_ltr_rtl|nothing; style is_rtl_align|nothing;"
+
+ <div dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}"
id="content">
- <div class="container_16">
- <div class="grid_11">
- <metal:block metal:define-slot="body">
- </metal:block>
+ {% if page_style == "bare" %}
+ {# No wrapping needed :) #}
+ {% elif page_style == "2cols" %}
+ <div class="container_16">
+ <div class="grid_12">
+ {% else %}
+ {# if this is set we don't have a sidebar and are fully wide #}
+ <div class="container_16">
+ <div class="grid_11">
+ {% endif %}
+
+ {% block body %}{% endblock %}
+
+ {% if page_style == "bare" %}
+ {# Again... no wrapping needed :) #}
+ {% elif page_style == "2cols" %}
+ </div>
</div>
- <div class="grid_4 prefix_1"
- tal:attributes="dir get_ltr_rtl|nothing; style is_rtl_align|nothing;">
- <metal:block define-slot="sidebar" />
+ {% else %}
+ </div>
+ <div class="grid_4 prefix_1"
+ dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ {% block sidebar %}{% endblock %}
+ </div>
</div>
- </div>
+ {% endif %}
</div>
</div>
<div id="footer">
@@ -152,14 +161,14 @@
<a href="http://creativecommons.org/terms">Terms of Use</a>
</p>
<p class="grid_16">
- <metal:license define-slot="license-override">
+ {% block license_override %}
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/"><img src="http://i.creativecommons.org/l/by/3.0/80x15.png" alt="Creative Commons License" style="border: medium none ;" height="15" width="80" /></a>
Except where otherwise
<a class="subfoot" href="/policies#license">noted</a>,
content on this site is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/"
class="subfoot">Creative Commons Attribution 3.0 License</a>
- </metal:license>
+ {% endblock %}
</p>
</div>
</div>
diff --git a/cc/engine/templates/macros_templates/partner.html b/cc/engine/templates/macros_templates/partner.html
new file mode 100644
index 0000000..468b544
--- /dev/null
+++ b/cc/engine/templates/macros_templates/partner.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+ <title>{% block title %}Page Title{% endblock %}</title>
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/ccliss.css') }}" />
+ {% if request.GET.has_key('stylesheet') %}
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.GET['stylesheet'] }}" />
+ {% endif %}
+ {% block headers %}{% endblock %}
+ </head>
+
+ <body>
+ {% set partner_icon_url = request.GET.get('partner_icon_url', '/images/remote_logo.gif') %}
+ <div id="main">
+ <div id="page-body">
+ <div class="header">
+ <img src="{{ partner_icon_url }}" alt="" border="0" />
+ </div>
+
+ <div class="nav">
+ provided by
+ <a href="http://creativecommons.org/"
+ >{{ cctrans(locale, "util.Creative_Commons")|safe }}</a>
+ </div>
+ {% block body %}{% endblock %}
+ </div>
+ </div>
+
+<script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-2010376-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+</script>
+
+ </body>
+</html>
diff --git a/cc/engine/templates/macros_templates/pdtool_deed.html b/cc/engine/templates/macros_templates/pdtool_deed.html
new file mode 100644
index 0000000..5bcffd6
--- /dev/null
+++ b/cc/engine/templates/macros_templates/pdtool_deed.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dct="http://purl.org/dc/terms/"
+ xmlns:frbr="http://purl.org/vocab/frbr/core#"
+ lang="{{ target_lang }}">
+ <head about="{{ license.uri }}">
+ <title>
+ {%- block title -%}
+ Creative Commons — {{ license.title(target_lang) }}
+ {%- endblock -%}
+ </title>
+
+ <meta http-equiv="content-type" content="text/html;charset=utf-8" />
+
+ <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.6.0/build/container/assets/skins/sam/container.css" />
+
+ <link rel="stylesheet"
+ href="{{ request.staticdirect('includes/deed3.css') }}" />
+ {% if is_rtl %}
+ <link rel="stylesheet" type="text/css" media="screen"
+ href="{{ request.staticdirect('includes/deed3-rtl.css') }}" />
+ {% endif %}
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/deed3-print.css') }}"
+ media="print" />
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/jurisdictions.css') }}"
+ media="screen" />
+
+ <!--[if lt IE 7]>
+ <link rel="stylesheet" type="text/css" media="screen"
+ href="{{ request.staticdirect('includes/deed3-ie.css') }}" />
+ <![endif]-->
+
+ <link rel="alternate" type="application/rdf+xml" href="rdf" />
+
+ {% include "includes/language_javascript.html" %}
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js">
+ </script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/connection/connection-min.js">
+ </script>
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/json/json-min.js">
+ </script>
+
+ <script type="text/javascript"
+ src="http://scraper.creativecommons.org/js/pddeed.js">
+ </script>
+
+ <script type="text/javascript"
+ src="{{ request.staticdirect('includes/help.js') }}">
+ </script>
+
+ <script type="text/javascript"
+ src="http://yui.yahooapis.com/2.6.0/build/container/container-min.js">
+ </script>
+
+ {% block headers %}{% endblock %}
+ </head>
+
+ <body typeof="cc:License"
+ about="{{ license.uri }}"
+ class="yui-skin-sam">
+ {% block page_top %}{% endblock %}
+
+ <div id="deed" class="pd pd-grey"
+ dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ <div id="deed-head">
+ <div id="cc-logo">
+ <img src="{{ request.staticdirect('images/deed/cc-logo.jpg') }}"
+ alt="cc logo" />
+ </div>
+ <div id="deed-license">
+ <h2>
+ {%- block license_name %}{% endblock -%}
+ </h2>
+ </div>
+ </div>
+
+ <div id="deed-main" dir="{{ get_ltr_rtl }}" style="{{ is_rtl_align }}">
+ <div id="legalcode-block">
+ {% block legalcode_block %}{% endblock %}
+ </div>
+
+ <div id="deed-main-content"
+ class="{{ license.jurisdiction.code }}">
+ {% block body %}{% endblock %}
+ </div>
+ </div>
+ <div id="deed-foot">
+ {% block footer %}{% endblock %}
+ </div>
+ </div>
+ <div id="footer">
+ <p>
+ {% if not license.deprecated %}
+ {% block use_this_license %}{% endblock %}
+ {% endif %}
+ </p>
+ {% include "includes/translations.html" %}
+ </div>
+
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-2010376-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+ <script type="text/javascript">
+ document.write("<" + "script type='text/javascript' src='http://scraper.creativecommons.org/apps/pddeed?url=" + encodeURIComponent(document.referrer) + "&license_uri=" + encodeURIComponent(document.URL) + "&callback=YAHOO.cc.success'" + "><" + "/script>");
+ </script>
+ </body>
+</html>
diff --git a/cc/engine/templates/macros_templates/popup.html b/cc/engine/templates/macros_templates/popup.html
new file mode 100644
index 0000000..6f862d8
--- /dev/null
+++ b/cc/engine/templates/macros_templates/popup.html
@@ -0,0 +1,16 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>{% block title %}Page Title{% endblock %}</title>
+ <link rel="stylesheet" type="text/css"
+ href="{{ request.staticdirect('includes/popup.css') }}" />
+ {% block headers %}{% endblock %}
+ </head>
+
+ <body>
+ <div class="bodybox">
+ <div class="bodyfloat">
+ {% block body %}{% endblock %}
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/cc/engine/templates/publicdomain/index.html b/cc/engine/templates/publicdomain/index.html
new file mode 100644
index 0000000..2695995
--- /dev/null
+++ b/cc/engine/templates/publicdomain/index.html
@@ -0,0 +1,43 @@
+{% extends "macros_templates/engine.html" %}
+
+{% block title %}Creative Commons Public Domain Tools{% endblock %}
+
+{% block page_header_title %}
+ {{ cctrans(locale, "license.pdtools.title")|safe }}
+{% endblock %}
+
+{% block body %}
+ <p>
+ {{ cctrans(locale, "license.pdtools.intro")|safe }}
+ </p>
+
+ <h2>CC0</h2>
+
+ <p>
+ {{ cctrans(locale, "license.pdtools.zero")|safe }}
+ </p>
+
+ <ul>
+ <li>
+ <a href="/about/cc0">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </li>
+ <li>
+ <a href="/choose/zero/">{{ cctrans(locale, "util.use_this_tool")|safe }}</a>
+ </li>
+ </ul>
+
+ <h2>{{ cctrans(locale, "licenses.publicdomain_mark_title")|safe }}</h2>
+
+ <p>
+ {{ cctrans(locale, "license.pdtools.pdm")|safe }}
+ </p>
+
+ <ul>
+ <li>
+ <a href="/about/pdm">{{ cctrans(locale, "util.learn_more")|safe }}</a>
+ </li>
+ <li>
+ <a href="/choose/mark">{{ cctrans(locale, "util.use_this_tool")|safe }}</a>
+ </li>
+ </ul>
+{% endblock body %}
diff --git a/cc/engine/templates/test/bunnies.pt b/cc/engine/templates/test/bunnies.html
similarity index 51%
copy from cc/engine/templates/test/bunnies.pt
copy to cc/engine/templates/test/bunnies.html
index 786c071..999bae8 100644
--- a/cc/engine/templates/test/bunnies.pt
+++ b/cc/engine/templates/test/bunnies.html
@@ -1,6 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:tal="http://xml.zope.org/namespaces/tal">
+<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<p>
Welcome to the bunny field!
@@ -8,9 +7,11 @@
</p>
<ul>
- <li tal:repeat="bunny bunnies">
- <span tal:replace="bunny/name" />, the <span tal:replace="bunny/description" />
- </li>
+ {% for bunny in bunnies %}
+ <li>
+ {{ bunny.name }} the {{ bunny.description }}
+ </li>
+ {% endfor %}
</ul>
<p><b>Awwwww!</b></p>
diff --git a/cc/engine/tests/test_jinja.py b/cc/engine/tests/test_jinja.py
new file mode 100644
index 0000000..904fc02
--- /dev/null
+++ b/cc/engine/tests/test_jinja.py
@@ -0,0 +1,24 @@
+from webob import Request
+
+from cc.engine import util
+
+util._activate_testing()
+
+
+def test_jinja():
+ """
+ Test that our Jinja environment works by examining this friendly
+ bunny field.
+ """
+ bunnies = [{'name': 'Lilian', 'description': 'lazy'},
+ {'name': 'Tobias', 'description': 'furious'},
+ {'name': 'Frank', 'description': 'grouch'}]
+ fake_request = Request.blank('/bunnies/')
+ result = util.render_template(
+ fake_request, 'en', 'test/bunnies.html', {'bunnies': bunnies})
+ assert 'Welcome to the bunny field!' in result
+ assert 'Lilian the lazy' in result
+
+ test_results = util.TEST_TEMPLATE_CONTEXT.pop('test/bunnies.html')
+ assert test_results['bunnies'] is bunnies
+ assert test_results['request'] is fake_request
diff --git a/cc/engine/tests/test_util.py b/cc/engine/tests/test_util.py
index 4e6d79d..cbe8297 100644
--- a/cc/engine/tests/test_util.py
+++ b/cc/engine/tests/test_util.py
@@ -77,12 +77,12 @@ def test_active_languages():
def test_safer_resource_filename():
assert util.safer_resource_filename(
- 'cc.engine', 'templates/test/bunnies.pt').endswith(
- 'templates/test/bunnies.pt')
+ 'cc.engine', 'templates/test/bunnies.html').endswith(
+ 'templates/test/bunnies.html')
assert_raises(
util.UnsafeResource,
util.safer_resource_filename,
- 'cc.engine', '../../templates/test/bunnies.pt')
+ 'cc.engine', '../../templates/test/bunnies.html')
def test_send_email():
diff --git a/cc/engine/tests/test_views.py b/cc/engine/tests/test_views.py
index 9e4721c..ad299fb 100644
--- a/cc/engine/tests/test_views.py
+++ b/cc/engine/tests/test_views.py
@@ -65,8 +65,7 @@ def _deed_tester(url, template_path,
expected_code, expected_version, expected_jurisdiction,
expected_license):
response = TESTAPP.get(url)
- namespace = util.ZPT_TEST_TEMPLATES.pop(
- util.full_zpt_filename(template_path))
+ namespace = util.TEST_TEMPLATE_CONTEXT.pop(template_path)
request = namespace['request']
assert_equal(namespace['license'], expected_license)
assert_equal(request.matchdict.get('code'), expected_code)
@@ -79,11 +78,11 @@ def test_standard_deeds_licenses():
Make sure the correct licenses get selected from the deeds
"""
_deed_tester(
- '/licenses/by/3.0/', 'licenses/standard_deed.pt',
+ '/licenses/by/3.0/', 'licenses/standard_deed.html',
'by', '3.0', None,
cc.license.by_code('by', version='3.0'))
_deed_tester(
- '/licenses/by-sa/3.0/', 'licenses/standard_deed.pt',
+ '/licenses/by-sa/3.0/', 'licenses/standard_deed.html',
'by-sa', '3.0', None,
cc.license.by_code('by-sa'))
@@ -313,7 +312,7 @@ def test_deeds_up_for_licenses():
class TestEmailSenderViews(unittest.TestCase):
def setUp(self):
util._clear_test_inboxes()
- util._clear_zpt_test_templates()
+ util._clear_test_template_context()
def test_work_email_send(self):
# For doing a POST (email sending time!)
@@ -340,8 +339,8 @@ class TestEmailSenderViews(unittest.TestCase):
assert 'You feel charged up!' in mail_body
# check that the right template was loaded
- assert util.ZPT_TEST_TEMPLATES.has_key(
- util.full_zpt_filename('chooser_pages/emailhtml.pt'))
+ assert util.TEST_TEMPLATE_CONTEXT.has_key(
+ 'chooser_pages/emailhtml.html')
# For doing a GET (shouldn't send email!)
# ---------------------------------------
@@ -351,6 +350,7 @@ class TestEmailSenderViews(unittest.TestCase):
assert_equal(response.status_int, 405)
def test_cc0_results_email_send(self):
+ util._clear_test_template_context()
# For doing a POST (email sending time!)
# --------------------------------------
response = TESTAPP.post(
@@ -372,13 +372,13 @@ class TestEmailSenderViews(unittest.TestCase):
assert 'To the extent possible under law,' in mail_body
# check that the right template was loaded
- assert util.ZPT_TEST_TEMPLATES.has_key(
- util.full_zpt_filename('chooser_pages/zero/results.pt'))
+ assert util.TEST_TEMPLATE_CONTEXT.has_key(
+ 'chooser_pages/zero/results.html')
# For doing a GET (shouldn't send email!)
# ---------------------------------------
util._clear_test_inboxes()
- util._clear_zpt_test_templates()
+ util._clear_test_template_context()
response = TESTAPP.get(
'/choose/zero/results?email=recipient at example.org')
@@ -387,8 +387,8 @@ class TestEmailSenderViews(unittest.TestCase):
assert_equal(len(util.EMAIL_TEST_INBOX), 0)
# check that the right template was loaded
- assert util.ZPT_TEST_TEMPLATES.has_key(
- util.full_zpt_filename('chooser_pages/zero/results.pt'))
+ assert util.TEST_TEMPLATE_CONTEXT.has_key(
+ 'chooser_pages/zero/results.html')
def test_pdmark_results_email_send(self):
@@ -413,13 +413,13 @@ class TestEmailSenderViews(unittest.TestCase):
assert 'free of known copyright restrictions' in mail_body
# check that the right template was loaded
- assert util.ZPT_TEST_TEMPLATES.has_key(
- util.full_zpt_filename('chooser_pages/pdmark/results.pt'))
+ assert util.TEST_TEMPLATE_CONTEXT.has_key(
+ 'chooser_pages/pdmark/results.html')
# For doing a GET (shouldn't send email!)
# ---------------------------------------
util._clear_test_inboxes()
- util._clear_zpt_test_templates()
+ util._clear_test_template_context()
response = TESTAPP.get(
'/choose/mark/results?email=recipient at example.org')
@@ -428,8 +428,8 @@ class TestEmailSenderViews(unittest.TestCase):
assert_equal(len(util.EMAIL_TEST_INBOX), 0)
# check that the right template was loaded
- assert util.ZPT_TEST_TEMPLATES.has_key(
- util.full_zpt_filename('chooser_pages/pdmark/results.pt'))
+ assert util.TEST_TEMPLATE_CONTEXT.has_key(
+ 'chooser_pages/pdmark/results.html')
def test_publicdomain_direct_redirect():
@@ -617,12 +617,12 @@ def test_chooser_gives_correct_licenses():
See if the license's url given by the chooser for PARAMETERS
matches EXPECTED_URL
"""
- util._clear_zpt_test_templates()
+ util._clear_test_template_context()
TESTAPP.get(
'/choose/results-one?' +
urllib.urlencode(parameters))
- license = util.ZPT_TEST_TEMPLATES[
- util.full_zpt_filename('chooser_pages/results.pt')]['license']
+ license = util.TEST_TEMPLATE_CONTEXT[
+ 'chooser_pages/results.html']['license']
assert_equal(license.uri, expected_url)
###################
diff --git a/cc/engine/tests/test_zpt.py b/cc/engine/tests/test_zpt.py
deleted file mode 100644
index 4d8beca..0000000
--- a/cc/engine/tests/test_zpt.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from cc.engine import util
-
-util._activate_testing()
-
-
-def test_zpt():
- template = util.get_zpt_template(
- 'test/bunnies.pt')
- bunnies = [{'name': 'Lilian', 'description': 'lazy'},
- {'name': 'Tobias', 'description': 'furious'},
- {'name': 'Frank', 'description': 'grouch'}]
- template.pt_render({'bunnies': bunnies})
-
- test_results = util.ZPT_TEST_TEMPLATES.pop(template.filename)
- assert test_results['bunnies'] is bunnies
diff --git a/cc/engine/tests/view_tests.json b/cc/engine/tests/view_tests.json
index 09c01f1..f269346 100644
--- a/cc/engine/tests/view_tests.json
+++ b/cc/engine/tests/view_tests.json
@@ -65,7 +65,7 @@
"Atribución 3.0 Estados Unidos de América",
"CC BY 3.0",
"resource=\"http://creativecommons.org/ns#Distribution\"",
- ">Compartir - copiar, distribuir, ejecutar y comunicar públicamente la obra",
+ "Compartir - copiar, distribuir, ejecutar y comunicar públicamente la obra",
"resource=\"http://creativecommons.org/ns#DerivativeWorks\"",
"hacer obras derivadas",
"hacer un uso comercial de esta obra"]},
@@ -137,7 +137,7 @@
{"path": "/choose/results-one",
"string_tests": [
"Choose which style of button you'd like on your webpage:",
- "src=\"http://i.creativecommons.org/l/by/3.0/88x31.png\"",
+ "src="http://i.creativecommons.org/l/by/3.0/88x31.png"",
"Creative Commons Attribution 3.0 Unported License"]},
{"path": "/choose/xmp",
"string_tests": [
@@ -189,7 +189,7 @@
"string_tests": [
"Identify a Public Domain Work",
"Now that you've chosen the Public Domain Certification, you should mark the work in the appropriate way.",
- "src=\"http://i.creativecommons.org/l/publicdomain/88x31.png\""]},
+ "src="http://i.creativecommons.org/l/publicdomain/88x31.png""]},
{"path": "/choose/publicdomain-4?understand=confirm&field1=continue&title=&foocopyright_holder=bar"},
{"path": "/choose/publicdomain-direct"},
@@ -215,7 +215,7 @@
"<input type=\"hidden\" name=\"name\" value=\"\" />",
"<input type=\"hidden\" name=\"actor_href\" value=\"\" />",
"<input type=\"hidden\" name=\"work_title\" value=\"\" />",
- "<input type=\"hidden\" name=\"work_jurisdiction\"\n value=\"-\" />"]},
+ "<input type=\"hidden\" name=\"work_jurisdiction\" value=\"-\" />"]},
{"path": "/choose/zero/results?license-class=zero&name=&actor_href=&work_title=&work_jurisdiction=-&confirm=confirm&understand=confirm&field1=continue&waiver-affirm=affirm",
"string_tests": [
"CC0",
@@ -226,9 +226,9 @@
"string_tests": [
"CC0: Confirm Waiver",
"<input type=\"hidden\" name=\"name\" value=\"foo\" />",
- "<input type=\"hidden\" name=\"actor_href\"\n value=\"bar\" />",
- "<input type=\"hidden\" name=\"work_title\"\n value=\"baz\" />",
- "<input type=\"hidden\" name=\"work_jurisdiction\"\n value=\"BA\" />"]},
+ "<input type=\"hidden\" name=\"actor_href\" value=\"bar\" />",
+ "<input type=\"hidden\" name=\"work_title\" value=\"baz\" />",
+ "<input type=\"hidden\" name=\"work_jurisdiction\" value=\"BA\" />"]},
{"path": "/choose/zero/results?license-class=zero&name=foo&actor_href=bar&work_title=baz&work_jurisdiction=BA&confirm=confirm&understand=confirm&field1=continue&waiver-affirm=affirm",
"string_tests": [
"CC0: Results",
@@ -287,4 +287,4 @@
{"path": "/characteristic/sa",
"string_tests": [
"Share Alike",
- "distribute derivative works only under the same license or one compatible"]}]
\ No newline at end of file
+ "distribute derivative works only under the same license or one compatible"]}]
diff --git a/cc/engine/util.py b/cc/engine/util.py
index 6b2232f..80ef959 100644
--- a/cc/engine/util.py
+++ b/cc/engine/util.py
@@ -11,6 +11,7 @@ email.Charset.add_charset('utf-8', email.Charset.SHORTEST, None, None)
import RDF
from lxml import etree
+import jinja2
import routes
from webob import Response
from zope.component.globalregistry import base
@@ -22,6 +23,7 @@ from zope.i18nmessageid import MessageFactory
from cc.license._lib import rdf_helper, all_possible_license_versions
from cc.license._lib import functions as cclicense_functions
from cc.i18n import ccorg_i18n_setup
+from cc.i18n.gettext_i18n import ugettext_for_locale
from cc.i18n.util import negotiate_locale
from cc.i18n.util import locale_to_lower_upper
@@ -52,39 +54,61 @@ def _activate_testing():
TESTS_ENABLED = True
-### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-### Special ZPT unit test hackery begins HERE
-### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+### ~~~~~~~~~~~~~~~~~~~~~~~
+### Jinja2 templating stuff
+### ~~~~~~~~~~~~~~~~~~~~~~~
-ZPT_TEST_TEMPLATES = {}
-class CCLPageTemplateFileTester(CCLPageTemplateFile):
- def pt_render(self, namespace, *args, **kwargs):
- ZPT_TEST_TEMPLATES[self.filename] = namespace
- return CCLPageTemplateFile.pt_render(self, namespace, *args, **kwargs)
+def cctrans(locale, logical_key, **trans_values):
+ """
+ A method for translating via logical keys
+ """
+ ugettext = ugettext_for_locale(locale)
+ return string.Template(ugettext(logical_key)).substitute(
+ trans_values)
-def _clear_zpt_test_templates():
- ZPT_TEST_TEMPLATES.clear()
-### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-### </Special ZPT unit test hackery>
-### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# Create the template loader
+TEMPLATE_LOADER = jinja2.PackageLoader('cc.engine', 'templates')
+TEMPLATE_ENV = jinja2.Environment(
+ loader=TEMPLATE_LOADER,
+ autoescape=True,
+ extensions=['jinja2.ext.autoescape'])
+# Add cctrans to the global context
+TEMPLATE_ENV.globals['cctrans'] = cctrans
-def full_zpt_filename(template_path):
- return os.path.join(BASE_TEMPLATE_DIR, template_path)
+TEST_TEMPLATE_CONTEXT = {}
+
+def _clear_test_template_context():
+ TEST_TEMPLATE_CONTEXT.clear()
+
+
+def render_template(request, locale, template_path, context):
+ """
+ Render a template with the request in the response.
+
+ Also stores data for unit testing purposes if appropriate.
+ """
+ template = TEMPLATE_ENV.get_template(template_path)
+ context['request'] = request
+ context['locale'] = locale
-def get_zpt_template(template_path, target_lang=None):
- full_template_path = full_zpt_filename(template_path)
+ rendered = template.render(context)
if TESTS_ENABLED:
- ptf_class = CCLPageTemplateFileTester
- else:
- ptf_class = CCLPageTemplateFile
+ TEST_TEMPLATE_CONTEXT[template_path] = context
+
+ return rendered
+
+
+def render_to_response(request, locale, template_path, context):
+ """
+ Convenience method for rendering a response along with the template
+ """
+ return Response(
+ render_template(request, locale, template_path, context))
- return ptf_class(
- full_template_path, target_language=target_lang)
-
def get_locale_file_from_locale(locale):
"""
@@ -567,18 +591,15 @@ def generate_404_response(request, routing, environ, staticdirector):
request.staticdirect = staticdirector
target_lang = get_target_lang_from_request(request)
- template = get_zpt_template(
- 'catalog_pages/404.pt', target_lang)
- engine_template = get_zpt_template(
- 'macros_templates/engine_bare.pt', target_lang)
- context = {
- 'request': request,
- 'engine_template': engine_template}
+ context = {'page_style': 'bare'}
context.update(rtl_context_stuff(target_lang))
return Response(
- template.pt_render(context), status=404)
+ render_template(
+ request, target_lang,
+ 'catalog_pages/404.html', context),
+ status=404)
def catch_license_versions_from_request(request):
diff --git a/setup.py b/setup.py
index 7019373..4da48cc 100644
--- a/setup.py
+++ b/setup.py
@@ -21,8 +21,6 @@
from setuptools import setup, find_packages
-import sys
-
setup(
name = "cc.engine",
version = "10.2",
@@ -51,6 +49,7 @@ setup(
'wsgi_cache',
'flup==1.0.2',
'simplejson',
+ 'jinja2',
],
dependency_links = [
hooks/post-receive
--
cc.engine: License chooser, public domain chooser, deeds
More information about the cc-commits
mailing list