Uploading anonymous works
This commit is contained in:
parent
4969937e6a
commit
76e038e5be
|
@ -1,3 +1,4 @@
|
|||
*.pyc
|
||||
*.sqlite
|
||||
media/*
|
||||
static_common/css/.sass-cache/*
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
from django.forms import ModelForm
|
||||
|
||||
from models import Geometry
|
||||
|
||||
|
||||
class GeometryForm(ModelForm):
|
||||
class Meta:
|
||||
model = Geometry
|
||||
fields = ['name', 'description', 'file', 'sourcefile']
|
|
@ -31,7 +31,7 @@ def safe_upload_path(base_dir):
|
|||
class Geometry(models.Model):
|
||||
name = models.CharField(max_length = 128)
|
||||
description = models.TextField(blank=True)
|
||||
user = models.ForeignKey(User, blank=True)
|
||||
user = models.ForeignKey(User, blank=True, null=True)
|
||||
date = models.DateTimeField(auto_now_add=True)
|
||||
polycount = models.IntegerField(blank=True, default=0)
|
||||
width = models.FloatField(blank=True, default=0)
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %} {{ geometry.name }} {% endblock %}
|
||||
|
||||
{% block headeraddons %}
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
|
||||
<style>
|
||||
|
@ -108,7 +110,11 @@
|
|||
<i class="icon-user"> </i><b>by:</b>
|
||||
</div>
|
||||
<div class="pure-u-2-3">
|
||||
{{geometry.user.username}}
|
||||
{% if geometry.user %}
|
||||
{{geometry.user.username}}
|
||||
{% else %}
|
||||
Anonymous
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="pure-g-r">
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div id="content">
|
||||
<div id="prompt">
|
||||
<!-- if IE without GCF, prompt goes here -->
|
||||
</div>
|
||||
|
||||
<h1>New paste</h1>
|
||||
<div class="pure-g-r">
|
||||
<div class="pure-u-2-3">
|
||||
<div class="textcontainer">
|
||||
<form enctype="multipart/form-data" method="post" class="pure-form pure-form-aligned">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{% for field in form %}
|
||||
<div class="pure-control-group">
|
||||
{{ field.label_tag }}
|
||||
{{ field }}
|
||||
{{ field.errors }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="pure-control-group">
|
||||
<label for="submitbutton" >... and </label>
|
||||
<input class="pure-button button-green" id="submitbutton" type="submit" value="Upload" />
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pure-u-1-3">
|
||||
<div class="textcontainer">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,6 +1,7 @@
|
|||
from django.conf.urls import patterns, include, url
|
||||
|
||||
from views import GeometryView
|
||||
from views import GeometryView, GeometryCreate
|
||||
|
||||
urlpatterns = patterns('',
|
||||
(r'^g/(?P<id>\d+)/$', GeometryView.as_view()),)
|
||||
url(r'^new/$', GeometryCreate.as_view()),
|
||||
url(r'^g/(?P<id>\d+)/$', GeometryView.as_view(), name = 'geometry_details'))
|
|
@ -1,5 +1,8 @@
|
|||
from django.views.generic.edit import CreateView
|
||||
from django.views.generic.detail import DetailView
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from forms import GeometryForm
|
||||
from models import Geometry
|
||||
|
||||
|
||||
|
@ -7,4 +10,13 @@ class GeometryView(DetailView):
|
|||
model = Geometry
|
||||
pk_url_kwarg = 'id'
|
||||
context_object_name = 'geometry'
|
||||
template_name = 'pastebin/geometry.html'
|
||||
template_name = 'pastebin/geometry.html'
|
||||
|
||||
|
||||
class GeometryCreate(CreateView):
|
||||
model = Geometry
|
||||
form_class = GeometryForm
|
||||
template_name = 'pastebin/geometry_create.html'
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse('geometry_details', kwargs={'id' :self.object.id})
|
|
@ -41,6 +41,12 @@
|
|||
border-color: #eeeeee;
|
||||
border-radius: 3px;
|
||||
background-color: #eee; }
|
||||
.textcontainer .pure-form label {
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #ccc; }
|
||||
.textcontainer .pure-form .errorlist {
|
||||
list-style: none;
|
||||
color: #e9322d; }
|
||||
|
||||
.button-green {
|
||||
background-color: #1CB841;
|
||||
|
|
|
@ -53,8 +53,22 @@
|
|||
@include gridcontainer;
|
||||
@include roundconers(#eee,6px);
|
||||
background-color: #eee;
|
||||
|
||||
.pure-form {
|
||||
label {
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.errorlist {
|
||||
list-style: none;
|
||||
color: #e9322d;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.button-green {
|
||||
background-color: #1CB841;
|
||||
color: #ffffff;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>past3d :: {{ title }} </title>
|
||||
<title>past3d :: {% block title %}{% endblock %}</title>
|
||||
|
||||
<link rel="stylesheet" href="{{STATIC_URL}}css/pure/pure-min.css">
|
||||
|
||||
|
|
Loading…
Reference in New Issue