Merge branch 'master' of github.com:Gluejar/regluit

pull/1/head
Raymond Yee 2011-11-18 10:35:00 -08:00
commit 1ed54b75ab
16 changed files with 404 additions and 95 deletions

View File

@ -3,7 +3,8 @@
{% block title %}API Help{% endblock %}
{% block doccontent %}
<h1>API Help</h1>
<h2>API Help</h2>
<p>Some of the data from Unglue It is avaiable via a JSON API. You will need a key and username to be able to use the API.
</p>
{% if user.is_authenticated %}
@ -12,23 +13,25 @@
<p> Please <a href="{% url auth_login %}?next={% firstof request.path '/' %}"><span>sign in</span></a> first.</p>
{% endif %}
<h2>Basic API info</h2>
<h3>Basic API info</h3>
<a href="/api/v1/?format=json">Available Resources (JSON)</a>
{% if user.is_authenticated %}
<h2>Campaign info</h2>
<h3>Campaign info</h3>
<p>JSON to get data on all campaigns</p>
<a href="/api/v1/campaign/?format=json&api_key={{api_key}}&username={{user.username}}">{{base_url}}/api/v1/campaign/?format=json&api_key={api_key}&username={username}</a>
{% endif %}
<h2>Campaign Widgets</h2>
<h3>Campaign Widgets</h3>
<p>You don't need a key to embed campaign (HTML) widgets. </p>
{% if campaign %}
Here's a sample widget for the book <span style="font-style: italic">{{campaign.name}}</span> with ISBN {{campaign_isbn}}: <a href="{% url widget campaign_isbn %}">{{base_url}}{% url widget campaign_isbn %}</a>
{% else %}
<p>Since there are currently no campaigns, there are no corresponding widgets.</p>
{% endif %}
{% endblock %}

View File

@ -2,7 +2,7 @@
{% block doccontent %}
<h1>Admin Users Only</h1>
<h2>Admin Users Only</h2>
<p>This function is only available to Unglue.it administration.</p>

View File

@ -88,7 +88,7 @@
<div class="column">
<span>Help</span>
<ul>
<li><a href="/stub/faq">FAQ</a></li>
<li><a href="{{faqurl}}">FAQ</a></li>
<li><a href="/stub/rhfaq">Rights Holder FAQ</a></li>
<li><a href="{% url api_help %}">API</a></li>
<li><a href="mailto:support@gluejar.com">support@gluejar.com</a>

View File

@ -1,26 +1,59 @@
{% extends "base.html" %}
{% block extra_head %}
<style type="text/css">
.undefined {text-decoration:underline;}
</style>
<link type="text/css" rel="stylesheet" href="/static/css/documentation.css" />
{% endblock %}
{% block title %}{% endblock %}
{% block topsection %}
<div id="js-topsection">
<div class="js-main">
<div class="js-topnews">
<div class="user-block">
<div class="user-block1">
<div class="block-inner">
<div class="block-intro-text">With your help we raise money to buy book rights. The <span class="typo">unglued</span> books are free to download, here.</div>
<a class="my-setting readon"><span>Learn more</span></a>
</div>
</div>
<div class="user-block2">
<div class="block-inner">
<label class="title">Spread the Word</label>
<a href="#"><img src="/static/images/icons/facebook.png" alt="Facebook" title="Facebook" /></a>
<a href="#"><img src="/static/images/icons/twitter.png" alt="Twitter" title="Twitter" /></a>
<a href="#"><img src="/static/images/icons/email.png" alt="email" title="email" /></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block content %}
<div id="main-container">
<div class="js-main">
<div id="js-maincol-fr">
<div class="js-maincol-inner">
<div class="content-block">
<div class="js-main">
<div id="js-leftcol">
{% include "explore.html" %}
</div>
<div id="js-maincol-fr" class="have-right" class="doc">
<div class="js-maincol-inner">
<div class="content-block">
<div id="js-main-container">
<div class="js-main-container-inner">
{% block doccontent %}
{% endblock %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -2,15 +2,17 @@
{% block title %}Claim Form{% endblock %}
{% block doccontent %}
<h1>Rights Holder Claim Form </h1>
<h2>Rights Holder Claim Form </h2>
<form method="POST" action="#">
{% csrf_token %}
<h2> Rightsholder making claim </h2>
<h3> Rightsholder making claim </h3>
{{ rights_holder.rights_holder_name }}
<h2> Work being claimed </h2>
{{ work.title }}<br />
{{ work.author }}
<h2> Terms and Conditions </h2>
<h3> Work being claimed </h3>
<ul>
<li>{{ work.title }}</li>
<li>{{ work.author }}</li>
</ul>
<h3> Terms and Conditions </h3>
{{ form.as_p }}
[legal stuff goes here]
<input type="submit" name="submit" value="Confirm Claim" id="submit">

View File

@ -2,17 +2,16 @@
{% block title %} FAQ {% endblock %}
{% block doccontent %}
<h1>FAQ</h1>
<h2>Ungluer FAQ- Stub</h2>
<h2>FAQ</h2>
<dl>
<dt>How much does a book cost?</dt>
<dd>The author or publisher set a price for giveing the book to the world. Once you and your fellow ungluers raise enough money to meet that price, the Unglued ebook is available at no charge, for everyone, everywhere!</dd>
<dd>The author or publisher set a price for giving the book to the world. Once you and your fellow ungluers raise enough money to meet that price, the Unglued ebook is available at no charge, for everyone, everywhere!</dd>
<dt>Are the unglued ebooks compatible with my reader?</dt>
<dd>Unglued ebooks are distributed with NO DRM, so they'll work on Kindle, iPad, Kobo, Mac, Windows, Linux... you get the idea.</dd>
<dd>Unglued ebooks are distributed with NO DRM, so they'll work on Kindle, iPad, Kobo, Mac, Windows, Linux... you get the idea. And if the ePub format isn't best for your device, you're free to shift unglued books to a format that works better for you.</dd>
</dl>
{% endblock %}

View File

@ -7,8 +7,8 @@
{% endblock %}
{% block doccontent %}
<h1>Pledge Page</h1>
<h2>Campaign: {{campaign.name}}</h2>
<h2>Pledge Page</h2>
<h3>Campaign: {{campaign.name}}</h3>
<p>Wonderful: We're glad that you would like to support this campaign.</p>
<div class="book-detail">

View File

@ -4,15 +4,15 @@
{% block doccontent %}
<h1>Gluejar Privacy Policy</h1>
<h2>Gluejar Privacy Policy</h2>
Date of last revision: September 20, 2011
<h2>Introduction</h2>
<h3>Introduction</h3>
<p>Gluejar respects your privacy. We don't share your personal information with third parties except as required to deliver services to you.</p>
<h2>Information we collect</h2>
<h3>Information we collect</h3>
<p>If you sign up for our mailing list, we will ask for your email address. You may opt out of the mailing list at any time. We include unsubscribe instructions at the bottom of every newsletter.</p>
@ -23,11 +23,11 @@ Date of last revision: September 20, 2011
<p>Third parties that we partner with to provide services may also place cookies in your browser, or use web beacons to collect information. You can view and manage your cookies through your web browser's preferences.</p>
<h2>How we use this information</h2>
<h3>How we use this information</h3>
<p>We use this information to send occasional newsletters; to respond to your queries; to analyze which pages our site visitors go to; to ensure that our web site displays properly on your device; and to allow you to log in and interact with the service.</p>
<h2>How We Share Your Personally Identifying Information</h2>
<h3>How We Share Your Personally Identifying Information</h3>
<p>We don't sell your information. We don't share it except as necessary to provide services to you.</p>
@ -37,23 +37,23 @@ Date of last revision: September 20, 2011
<p>We reserve the right to disclose your personally identifiable information if required by law (e.g. to comply with a subpoena), when we believe in good faith that disclosure is necessary to protect our rights or to comply with applicable laws.</p>
<h2>Voluntary Disclosure</h2>
<h3>Voluntary Disclosure</h3>
<p>Any personal information or content that you voluntarily disclose in public areas of the site becomes publicly available and can be collected and used by other users. You should exercise caution before disclosing your personal information via these public venues.</p>
<h2>Children's Privacy</h2>
<h3>Children's Privacy</h3>
<p>Our website, products and services are marketed for and directed towards use and contributions by adults (or with the consent of adults). Individuals under the age of 18 are not permitted to use the GlueJar website to make contributions, offer a license or otherwise post content without the supervision of a parent or legal guardian. Furthermore, we do not knowingly collect or solicit personal information from children under the age of 13 or knowingly allow such persons to register for an online account or to post personal information on our websites. Should we learn that someone under the age of 13 has provided any personal information to or on the GlueJar website, we will remove that information as soon as possible.</p>
<h2>Payment</h2>
<h3>Payment</h3>
<p>We do not collect your credit card information. All financial transactions are processed through Paypal; information is transmitted securely using SSL and the Paypal APIs. You provide your credit card number, address, and other transaction information directly to Paypal; unglue.it does not transmit or store this information. unglue.it does not share your account information with Paypal.</p>
<h2>Changes to this Privacy Policy</h2>
<h3>Changes to this Privacy Policy</h3>
<p>Gluejar reserves the right to change this privacy policy. We will post updated versions to the web site, including the most recent modification date. If updates to our privacy policy affect our use of emails we have collected, we will notify mailing list subscribers as well.</p>
<h2>Contact Us</h2>
<h3>Contact Us</h3>
<p>If you have any questions regarding this privacy policy, you can contact us at <a href="mailto:contact@gluejar.com?Subject=Questions%about%20privacy%20policy">contact@gluejar.com</a>, or using our contact page.</p>

View File

@ -2,29 +2,31 @@
{% block title %}Tools for Rightsholders {% endblock %}
{% block doccontent %}
<h1>unglue.it Tools for Rightsholders</h1>
<h2>unglue.it Tools for Rightsholders</h2>
{% if request.user.rights_holder.count %}
<h2>Rights Holders That You Administer</h2>
<h3>Rights Holders That You Administer</h3>
<dl>
{% for rights_holder in request.user.rights_holder.all %}
<h3>Name: {{ rights_holder.rights_holder_name }}</h3>
<p>PSA #: {{ rights_holder.id }}<br/>
contact email: {{ rights_holder.email }}<br/>
</p>
<dt>Name: {{ rights_holder.rights_holder_name }}</dt>
<dd>PSA #: {{ rights_holder.id }}</dd>
<dd>contact email: {{ rights_holder.email }}<dd/>
{% endfor %}
</dl>
{% endif %}
{% if request.user.rights_holder.count %}
<h2>Works You Have Claimed</h2>
<h3>Works You Have Claimed</h3>
<dl>
{% for claim in request.user.claim.all %}
<h3>Title: <a href="{% url work work_id=claim.work.id %}">{{claim.work.title }}</a></h3>
<p>Author: {{claim.work.author }}</p>
<p>On Behalf of: {{ claim.rights_holder.rights_holder_name }}</p>
<p>PSA #: {{ claim.rights_holder.id }}</p>
<p>Date of Claim : {{ claim.created }}</p>
<p>Status: {{ claim.status }}</p>
<dt>Title: <a href="{% url work work_id=claim.work.id %}">{{claim.work.title }}</a></dt>
<dd>Author: {{claim.work.author }}</dd>
<dd>On Behalf of: {{ claim.rights_holder.rights_holder_name }}</dd>
<dd>PSA #: {{ claim.rights_holder.id }}</dd>
<dd>Date of Claim : {{ claim.created }}</dd>
<dd>Status: {{ claim.status }}</dd>
{% endfor %}
{% endif %}
<h2>How to launch an Unglue.it campaign</h2>
<h3>How to launch an Unglue.it campaign</h3>
<ol>
<li>
@ -46,15 +48,15 @@
</ol>
<h2>Rightsholder social media tools</h2>
<h3>Rightsholder social media tools</h3>
<a href="/stub/rightsholder_social_media_toolkit">Needs to be written.</a>
<h2>Rewards</h2>
<h3>Rewards</h3>
Campaigns have rewards as a way to thank supporters. unglue.it includes a standard set of rewards in all campaigns. You are encouraged to add additional sweeteners to motivate people to donate.
<p>Campaigns have rewards as a way to thank supporters. unglue.it includes a standard set of rewards in all campaigns. You are encouraged to add additional sweeteners to motivate people to donate.</p>
Here are the standard rewards:
<p>Here are the standard rewards:</p>
<ul>
<li><em>Any level</em> &#8212; The unglued ebook delivered to your inbox</li>
<li><em>$25</em> &#8212; Your name under "supporters" in the acknowledgements section</li>
@ -62,6 +64,6 @@ Here are the standard rewards:
<li><em>$100</em> &#8212; Your name, link of your choice, & a brief message (140 characters max) under "bibliophiles"</li>
</ul>
<h2>More Questions</h2>
<h3>More Questions</h3>
{% endblock %}

View File

@ -10,55 +10,61 @@
{% block doccontent %}
<h1>Rights Holder Admin</h1>
<h2>Rights Holder Admin</h2>
<h2> Create New Rights Holder </h2>
<h3> Create New Rights Holder </h3>
<form method="POST" action="#">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" name="create_rights_holder" value="Create" id="submit">
</form>
<h2> Accepted Rights Holders </h2>
<h3> Accepted Rights Holders </h3>
<dl>
{% for rights_holder in rights_holders %}
<h3>{{ rights_holder.rights_holder_name }}</h3><p>
PSA #: {{ rights_holder.id }}<br/>
email: {{ rights_holder.email }}<br/>
owner: <a href="{% url supporter supporter_username=rights_holder.owner %}">{{ rights_holder.owner }}</a></p>
<dt>{{ rights_holder.rights_holder_name }}</dt>
<dd>PSA #: {{ rights_holder.id }}</dd>
<dd>email: {{ rights_holder.email }}</dd>
<dd>owner: <a href="{% url supporter supporter_username=rights_holder.owner %}">{{ rights_holder.owner }}</a></dd>
{% empty %}
<p>No rights holders have been accepted yet</p>
{% endfor %}
</dl>
{% if pending %}
<h2> Pending Claims </h2>
<h3> Pending Claims </h3>
<form method="POST" action="#">
{{ pending_formset.management_form }}
{% csrf_token %}
<dl>
{% for claim, claim_form in pending %}
<h3>Title: <a href="{% url work work_id=claim.work.id %}">{{claim.work.title }}</a></h3>
<p>Author: {{claim.work.author }}</p>
<p>By: {{ claim.user.username }}
<p>On Behalf of: {{ claim.rights_holder.rights_holder_name }}</p>
<p>PSA #: {{ claim.rights_holder.id }}</p>
<p>Date of Claim : {{ claim.created }}</p>
<p>Status: {{ claim.status }}</p>
<p> Change to:</p> {{ claim_form.as_p }}
<dt>Title: <a href="{% url work work_id=claim.work.id %}">{{claim.work.title }}</a></dt>
<dd>Author: {{claim.work.author }}</dd>
<dd>By: {{ claim.user.username }}</dd>
<dd>On Behalf of: {{ claim.rights_holder.rights_holder_name }}</dd>
<dd>PSA #: {{ claim.rights_holder.id }}</dd>
<dd>Date of Claim : {{ claim.created }}</dd>
<dd>Status: {{ claim.status }}</dd>
<dd> Change to:</dd> {{ claim_form.as_p }}
<input type="submit" name="set_claim_status" value="Set Claim Status" id="submit">
{% endfor %}
</dl>
</form>
{% endif %}
{% if active_data.count %}
<h2> Active Claims </h2>
<h3> Active Claims: {{ active_data.count }} </h3>
<dl>
{% for claim in active_data %}
<h3>Title: <a href="{% url work work_id=claim.work.id %}">{{claim.work.title }}</a></h3>
<p>Author: {{claim.work.author }}</p>
<p>By: {{ claim.user.username }}
<p>On Behalf of: {{ claim.rights_holder.rights_holder_name }}</p>
<p>PSA #: {{ claim.rights_holder.id }}</p>
<p>Date of Claim : {{ claim.created }}</p>
<p>Status: {{ claim.status }}</p>
<dt>Title: <a href="{% url work work_id=claim.work.id %}">{{claim.work.title }}</a></dt>
<dd>Author: {{claim.work.author }}</dd>
<dd>By: {{ claim.user.username }}</dd>
<dd>On Behalf of: {{ claim.rights_holder.rights_holder_name }}</dd>
<dd>PSA #: {{ claim.rights_holder.id }}</dd>
<dd>Date of Claim : {{ claim.created }}</dd>
<dd>Status: {{ claim.status }}</dd>
{% endfor %}
</dl>
{% endif %}
{% endblock %}

View File

@ -4,7 +4,7 @@
{% block doccontent %}
<h2> Set up campaign </h2>
<h2>Set up campaign</h2>
<div class="book-detail-info">
<h2 class="book-name">Title: {{ work.title }}</h2>
<h3 class="book-author">Authors: {{ work.author }}</h3>
@ -14,18 +14,18 @@
<form action="#">
<h3>Description of the work to be offered</h3>
This should include
This should include:
<ul>
<li> a synopsis of the work.
<li> hyperlinks for the author(s), publisher making the offer, or for the work itself.
<li>A synopsis of the work.
<li>Hyperlinks for the author(s), publisher making the offer, or for the work itself.
</ul>
<textarea cols="80" rows="20" name="description">
</textarea>
<h3>Offer details</h3>
This should include
This should include:
<ul>
<li> Details about the edition being offered.
<li> hyperlinks for the author(s), publisher making the offer, or for the work itself.
<li>Details about the edition being offered.
<li>Hyperlinks for the author(s), publisher making the offer, or for the work itself.
</uL>
<textarea cols="80" rows="20" name="details">
</textarea>

View File

@ -0,0 +1,131 @@
/* Styles basedocumentation.html and its descendants. */
/* variables and mixins used in multiple less files go here */
.header-text {
height: 36px;
line-height: 36px;
display: block;
text-decoration: none;
font-weight: bold;
font-size: 13px;
letter-spacing: -0.05em;
}
.panelborders {
border-width: 1px 0px;
border-style: solid none;
border-color: #FFFFFF;
}
/* Learn More area */
.user-block {
width: 100%;
clear: both;
}
.user-block-hide {
float: left;
width: 100%;
clear: both;
}
.user-block1, .user-block2 {
float: left;
}
.user-block1 {
width: 70%;
}
.user-block1 .block-intro-text {
float: left;
width: 70%;
font-size: 20px;
}
.user-block1 a.readon {
float: left;
margin-top: 10px;
}
.user-block2 {
color: #6994a3;
font-size: 11px;
line-height: normal;
width: 30%;
}
.user-block2 .block-inner {
float: right;
padding-right: 0;
}
.user-block2 label {
float: left;
font-size: 20px;
height: 30px;
line-height: 30px;
color: #3d4e53;
padding-right: 15px;
}
/* Containers */
.have-right #js-main-container {
float: left;
}
.js-main-container-inner {
padding-left: 15px;
}
.have-right #js-rightcol {
margin-top: 50px;
background: #edf3f4;
border: 1px solid #d6dde0;
-moz-border-radius: 12px 12px 12px 12px;
-webkit-border-radius: 12px 12px 12px 12px;
border-radius: 12px 12px 12px 12px;
}
.have-right #js-rightcol .jsmodule {
border-bottom: 1px solid #3c4e52;
width: 235px;
}
.have-right #js-rightcol .jsmodule.last {
border-bottom: none;
padding-bottom: 10px;
}
.js-rightcol-padd {
padding: 10px;
}
/* Elements */
.doc h2 {
margin: 20px 0;
color: #3d4e53;
font-size: 17px;
font-weight: bold;
}
.doc h3 {
color: #3d4e53;
font-weight: bold;
}
.doc ul {
list-style: none;
padding: 0;
margin: 0;
}
.doc ul li {
margin-bottom: 7px;
-moz-border-radius: 14px 14px 14px 14px;
-webkit-border-radius: 14px 14px 14px 14px;
border-radius: 14px 14px 14px 14px;
padding: 10px;
background: #edf3f4;
}
.doc div.inset {
background: #edf3f4;
-moz-border-radius: 12px 12px 12px 12px;
-webkit-border-radius: 12px 12px 12px 12px;
border-radius: 12px 12px 12px 12px;
padding: 10px;
font-style: italic;
}
dt {
margin: 7px 0px 7px -7px;
-moz-border-radius: 14px 14px 14px 14px;
-webkit-border-radius: 14px 14px 14px 14px;
border-radius: 14px 14px 14px 14px;
padding: 10px 0px 10px 7px;
background: #edf3f4;
}
dd {
margin: 0;
}
.doc ol li {
margin-bottom: 7px;
}

View File

@ -156,7 +156,7 @@ ul.tabs {
padding:0 10px;
min-width:80px;
.border-radius(7px, 7px, 0, 0);
background:#d6dde0;
background:@blue-grey;
color:@text-blue;
}
@ -198,7 +198,7 @@ ul.tabs {
}
.js-rightcol-pad {
border:1px solid #d6dde0;
border:1px solid @blue-grey;
.border-radius(10px, 10px, 10px, 10px);
padding:10px;
}
@ -234,7 +234,7 @@ ul.social li {
}
ul.support li {
border-bottom:1px solid #d6dde0;
border-bottom:1px solid @blue-grey;
padding:10px 15px 10px 0;
span {

View File

@ -0,0 +1,132 @@
/* Styles basedocumentation.html and its descendants. */
@import "variables.less";
/* Learn More area */
.user-block {
width:100%; clear:both;
}
.user-block-hide {
float: left;
width:100%;
clear:both;
}
.user-block1, .user-block2 {
float:left;
}
.user-block1 {
width:70%;
.block-intro-text {
float:left;
width:70%;
font-size:20px;
}
a.readon {
float: left;
margin-top:10px;
}
}
.user-block2 {
color: @medium-blue;
font-size:11px;
line-height:normal;
width:30%;
.block-inner {
float:right;
padding-right:0;
}
label {
float:left;
font-size:20px;
height:30px;
line-height:30px;
color:@text-blue;
padding-right:15px;
}
}
/* Containers */
.have-right #js-main-container {
float: left;
}
.js-main-container-inner {
padding-left:15px;
}
.have-right #js-rightcol {
margin-top:50px;
background:@pale-blue;
border:1px solid @blue-grey;
.border-radius(12px, 12px, 12px, 12px);
.jsmodule {
border-bottom:1px solid #3c4e52;
width:235px;
&.last {
border-bottom:none;
padding-bottom:10px;
}
}
}
.js-rightcol-padd {
padding:10px;
}
/* Elements */
.doc h2 {
margin:20px 0;
color:@text-blue;
font-size:17px;
font-weight: bold;
}
.doc h3 {
color:@text-blue;
font-weight:bold;
}
.doc ul {
list-style: none;
padding:0;
margin:0;
li {
margin-bottom:7px;
.border-radius(14px, 14px, 14px, 14px);
padding:10px;
background:@pale-blue;
}
}
.doc div.inset {
background:@pale-blue;
.border-radius(12px, 12px, 12px, 12px);
padding:10px;
font-style:italic;
}
dt {
margin:7px 0px 7px -7px;
.border-radius(14px, 14px, 14px, 14px);
padding:10px 0px 10px 7px;
background:@pale-blue;
}
dd {
margin: 0;
}
.doc ol li {
margin-bottom: 7px;
}

View File

@ -146,7 +146,7 @@ input.profile-save {
}
a.my-setting {
background:#d6dde0 url("@{image-base}header/explane.png") 90% center no-repeat;
background:@blue-grey url("@{image-base}header/explane.png") 90% center no-repeat;
border-radius:7px;
.height(50px);
display:block;
@ -155,7 +155,7 @@ a.my-setting {
}
a.my-setting.active {
background:#d6dde0 url("@{image-base}header/collspane.png") 90% center no-repeat;
background:@blue-grey url("@{image-base}header/collspane.png") 90% center no-repeat;
}
#tabs{

View File

@ -5,6 +5,7 @@
@green: #8dc63f;
@dark-green: #73a334;
@dark-blue: #37414d;
@blue-grey: #d6dde0;
@image-base: "/static/images/";
@background-header: "@{image-base}bg.png";
@background-body: "@{image-base}bg-body.png";