mirror of
https://github.com/pinry/pinry.git
synced 2025-11-13 08:35:41 +01:00
Feature: Add referer field for Pin
This commit is contained in:
@@ -137,7 +137,7 @@ class PinResource(ModelResource):
|
||||
return super(PinResource, self).save_m2m(bundle)
|
||||
|
||||
class Meta:
|
||||
fields = ['id', 'url', 'origin', 'description']
|
||||
fields = ['id', 'url', 'origin', 'description', 'referer']
|
||||
ordering = ['id']
|
||||
filtering = {
|
||||
'submitter': ALL_WITH_RELATIONS
|
||||
|
||||
19
core/migrations/0002_pin_referer.py
Normal file
19
core/migrations/0002_pin_referer.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='pin',
|
||||
name='referer',
|
||||
field=models.URLField(null=True),
|
||||
),
|
||||
]
|
||||
@@ -42,6 +42,7 @@ class Pin(models.Model):
|
||||
submitter = models.ForeignKey(User)
|
||||
url = models.URLField(null=True)
|
||||
origin = models.URLField(null=True)
|
||||
referer = models.URLField(null=True)
|
||||
description = models.TextField(blank=True, null=True)
|
||||
image = models.ForeignKey(Image, related_name='pin')
|
||||
published = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
@@ -92,7 +92,8 @@
|
||||
border: '1px solid #555'
|
||||
});
|
||||
image.onclick = function() {
|
||||
var popUrl = getFormUrl()+encodeURIComponent(imageUrl);
|
||||
var popUrl = getFormUrl() + encodeURIComponent(imageUrl);
|
||||
popUrl = popUrl + '&referer=' + encodeURIComponent(window.location);
|
||||
window.open(popUrl);
|
||||
closePinry();
|
||||
};
|
||||
|
||||
@@ -17,6 +17,7 @@ $(window).load(function() {
|
||||
return {
|
||||
submitter: currentUser,
|
||||
url: $('#pin-form-image-url').val(),
|
||||
referer: $('#pin-form-referer').val(),
|
||||
description: $('#pin-form-description').val(),
|
||||
tags: cleanTags($('#pin-form-tags').val())
|
||||
}
|
||||
@@ -26,6 +27,7 @@ $(window).load(function() {
|
||||
var context = {pins: [{
|
||||
submitter: currentUser,
|
||||
image: {thumbnail: {image: $('#pin-form-image-url').val()}},
|
||||
referer: $('#pin-form-referer').val(),
|
||||
description: $('#pin-form-description').val(),
|
||||
tags: cleanTags($('#pin-form-tags').val())
|
||||
}]},
|
||||
@@ -59,9 +61,14 @@ $(window).load(function() {
|
||||
function createPinForm(editPinId) {
|
||||
$('body').append(renderTemplate('#pin-form-template', ''));
|
||||
var modal = $('#pin-form'),
|
||||
formFields = [$('#pin-form-image-url'), $('#pin-form-description'),
|
||||
$('#pin-form-tags')],
|
||||
pinFromUrl = getUrlParameter('pin-image-url');
|
||||
formFields = [
|
||||
$('#pin-form-image-url'),
|
||||
$('#pin-form-referer'),
|
||||
$('#pin-form-description'),
|
||||
$('#pin-form-tags')
|
||||
],
|
||||
pinFromUrl = getUrlParameter('pin-image-url'),
|
||||
pinFromReferer = getUrlParameter('referer');
|
||||
// If editable grab existing data
|
||||
if (editPinId) {
|
||||
var promise = getPinData(editPinId);
|
||||
@@ -69,6 +76,7 @@ $(window).load(function() {
|
||||
editedPin = data;
|
||||
$('#pin-form-image-url').val(editedPin.image.thumbnail.image);
|
||||
$('#pin-form-image-url').parent().hide();
|
||||
$('#pin-form-referer').parent().hide();
|
||||
$('#pin-form-image-upload').parent().hide();
|
||||
$('#pin-form-description').val(editedPin.description);
|
||||
$('#pin-form-tags').val(editedPin.tags);
|
||||
@@ -113,6 +121,7 @@ $(window).load(function() {
|
||||
if (pinFromUrl) {
|
||||
$('#pin-form-image-upload').parent().css('display', 'none');
|
||||
$('#pin-form-image-url').val(pinFromUrl);
|
||||
$('#pin-form-referer').val(pinFromReferer);
|
||||
$('.navbar').css('display', 'none');
|
||||
modal.css({
|
||||
'margin-top': -35,
|
||||
@@ -155,6 +164,7 @@ $(window).load(function() {
|
||||
} else {
|
||||
var data = {
|
||||
submitter: '/api/v1/user/'+currentUser.id+'/',
|
||||
referer: $('#pin-form-referer').val(),
|
||||
description: $('#pin-form-description').val(),
|
||||
tags: cleanTags($('#pin-form-tags').val())
|
||||
};
|
||||
|
||||
@@ -24,8 +24,9 @@
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="text extra pull-right">
|
||||
<a href="{{url}}" class="btn btn-sm btn-default btn-warning">Original URL</a>
|
||||
<a href="/{{id}}/" class="btn btn-sm btn-default btn-success">Pin URL</a>
|
||||
<a href="{{referer}}" class="btn btn-sm btn-default btn-warning" target="_blank">Referer</a>
|
||||
<a href="{{url}}" class="btn btn-sm btn-default btn-primary" target="_blank">Original URL</a>
|
||||
<a href="/{{id}}/" class="btn btn-sm btn-default btn-success" target="_blank">Pin URL</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -17,6 +17,10 @@
|
||||
<label for="pin-form-image-upload">Image Upload</label>
|
||||
<form action="/pins/create-image/" id="pin-form-image-upload" class="dropzone"></form>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="pin-form-referer">Referer</label>
|
||||
<input name="pin-form-referer" id="pin-form-referer" class="form-control" type="text"/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="pin-form-description">Description</label>
|
||||
<textarea name="pin-form-description" id="pin-form-description" class="form-control"></textarea>
|
||||
|
||||
Reference in New Issue
Block a user