Uploading anonymous works
This commit is contained in:
parent
4969937e6a
commit
76e038e5be
|
@ -1,3 +1,4 @@
|
||||||
*.pyc
|
*.pyc
|
||||||
*.sqlite
|
*.sqlite
|
||||||
media/*
|
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):
|
class Geometry(models.Model):
|
||||||
name = models.CharField(max_length = 128)
|
name = models.CharField(max_length = 128)
|
||||||
description = models.TextField(blank=True)
|
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)
|
date = models.DateTimeField(auto_now_add=True)
|
||||||
polycount = models.IntegerField(blank=True, default=0)
|
polycount = models.IntegerField(blank=True, default=0)
|
||||||
width = models.FloatField(blank=True, default=0)
|
width = models.FloatField(blank=True, default=0)
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %} {{ geometry.name }} {% endblock %}
|
||||||
|
|
||||||
{% block headeraddons %}
|
{% block headeraddons %}
|
||||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
|
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
|
||||||
<style>
|
<style>
|
||||||
|
@ -108,7 +110,11 @@
|
||||||
<i class="icon-user"> </i><b>by:</b>
|
<i class="icon-user"> </i><b>by:</b>
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-2-3">
|
<div class="pure-u-2-3">
|
||||||
{{geometry.user.username}}
|
{% if geometry.user %}
|
||||||
|
{{geometry.user.username}}
|
||||||
|
{% else %}
|
||||||
|
Anonymous
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-g-r">
|
<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 django.conf.urls import patterns, include, url
|
||||||
|
|
||||||
from views import GeometryView
|
from views import GeometryView, GeometryCreate
|
||||||
|
|
||||||
urlpatterns = patterns('',
|
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.views.generic.detail import DetailView
|
||||||
|
from django.core.urlresolvers import reverse
|
||||||
|
|
||||||
|
from forms import GeometryForm
|
||||||
from models import Geometry
|
from models import Geometry
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,4 +10,13 @@ class GeometryView(DetailView):
|
||||||
model = Geometry
|
model = Geometry
|
||||||
pk_url_kwarg = 'id'
|
pk_url_kwarg = 'id'
|
||||||
context_object_name = 'geometry'
|
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-color: #eeeeee;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background-color: #eee; }
|
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 {
|
.button-green {
|
||||||
background-color: #1CB841;
|
background-color: #1CB841;
|
||||||
|
|
|
@ -53,8 +53,22 @@
|
||||||
@include gridcontainer;
|
@include gridcontainer;
|
||||||
@include roundconers(#eee,6px);
|
@include roundconers(#eee,6px);
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
|
|
||||||
|
.pure-form {
|
||||||
|
label {
|
||||||
|
font-weight: bold;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.errorlist {
|
||||||
|
list-style: none;
|
||||||
|
color: #e9322d;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.button-green {
|
.button-green {
|
||||||
background-color: #1CB841;
|
background-color: #1CB841;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>past3d :: {{ title }} </title>
|
<title>past3d :: {% block title %}{% endblock %}</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="{{STATIC_URL}}css/pure/pure-min.css">
|
<link rel="stylesheet" href="{{STATIC_URL}}css/pure/pure-min.css">
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue