summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPepper <pepper@scannerjammer.com>2015-05-28 14:23:46 -0400
committerPepper <pepper@scannerjammer.com>2015-05-28 14:23:46 -0400
commit4a4a32e1f979282c1b93a43b0dd10f89a0d2d590 (patch)
tree05aa36967a0be9f92030606c538393c52c0f5fa7
parenta4916103efb2d97896c456ff0e83064b21e85d25 (diff)
fixed email in profiles
-rwxr-xr-xbackend/urls.py3
-rwxr-xr-xbackend/views.py110
-rwxr-xr-xfrontend/static/js/profile.js27
-rw-r--r--frontend/static/js/src/api.js10
-rw-r--r--frontend/static/js/src/auth.js11
-rwxr-xr-xfrontend/static/js/src/soundmanager2.js (renamed from frontend/static/js/src/soundmanager.js)0
-rwxr-xr-xfrontend/static/other_rooms/admin.html8
-rwxr-xr-xfrontend/static/other_rooms/calendar.html16
-rwxr-xr-xfrontend/static/other_rooms/embed.html14
-rwxr-xr-xfrontend/static/other_rooms/topvids.html16
-rwxr-xr-xfrontend/static/sass/compile.sh2
-rwxr-xr-xfrontend/static/sass/src/profile.sass2
-rwxr-xr-xfrontend/static/sass/stylesheets/profile.css2
-rwxr-xr-xfrontend/templates/admin.html8
-rwxr-xr-xfrontend/templates/calendar.html16
-rwxr-xr-xfrontend/templates/profile.html24
-rwxr-xr-xfrontend/templates/profile_img.html20
-rwxr-xr-xfrontend/templates/register.html13
-rwxr-xr-xfrontend/templates/topvideos.html16
-rwxr-xr-xfrontend/views.py14
-rwxr-xr-xscannerjammer/settings.py3
-rwxr-xr-xscannerjammer/urls.py11
22 files changed, 181 insertions, 165 deletions
diff --git a/backend/urls.py b/backend/urls.py
index a7f884b..44524a4 100755
--- a/backend/urls.py
+++ b/backend/urls.py
@@ -1,6 +1,5 @@
from django.conf.urls import patterns, include, url
-
urlpatterns = patterns('backend.views',
# AUTH API
url(r'^auth/login/$' , 'api_auth_login' ),
@@ -14,7 +13,7 @@ urlpatterns = patterns('backend.views',
url(r'^user/videos/$' , 'api_user_videos' ),
url(r'^user/likes/$' , 'api_user_likes' ),
url(r'^user/top/$' , 'api_user_top' ),
- url(r'^user/settings/$' , 'api_user_settings' ),
+ url(r'^user/settings/$' , 'api_user_settings' ),
# ROOM API
url(r'^room/watch/$' , 'api_room_watch' ),
url(r'^room/list/$' , 'api_room_list' ),
diff --git a/backend/views.py b/backend/views.py
index acb0369..5e24078 100755
--- a/backend/views.py
+++ b/backend/views.py
@@ -31,6 +31,9 @@ from backend.models import SJSearch
from backend.models import SJUserProfile
from browser import Browser
+
+from haystack.query import SearchQuerySet
+from haystack.inputs import AutoQuery, Exact, Clean
API_HEADER = '#@scanjam 0.3b\n'
@@ -80,10 +83,6 @@ def title_from_url (url):
def headers(response):
""" Setup additional headers for response
"""
- response['Access-Control-Allow-Origin'] = '*'
- response['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
- response['Access-Control-Allow-Headers'] = 'x-requested-with'
- response['Access-Control-Max-Age'] = '3628800'
response['Content-type'] = 'text/plain; charset=UTF-8'
def response_error(error, response=None):
@@ -384,6 +383,9 @@ def api_auth_login(request):
return response
user = auth.authenticate(username=request.POST['username'],
password=request.POST['password'])
+#any idea? well for login to work i think ajax should send cookies, but i don't see any django cookies there
+ if not user:
+ return response_error('NO USER')
if user:
if user.is_active:
auth.login(request, user)
@@ -478,9 +480,12 @@ def api_auth_available(request):
@require_POST
def api_auth_checkin(request):
""" Check in user. Private API
+ so we need to figure out what it SHOULD return, right? yeah
+
"""
if request.user.is_authenticated():
response = response_success()
+
response.write(user_response_str(request))
return response
return HttpResponse()
@@ -546,6 +551,7 @@ def api_user_videos(request):
v.user.username,
s['url'],
s['title'],
+ ("%d" % v.sjlike_set.count())
])
response.write(l + '\n')
return response
@@ -600,7 +606,7 @@ def api_user_settings(request):
if not user.is_authenticated():
return response_error('NO LOGGED IN')
user_profile = user.get_profile()
- form_fields = ['userid', 'bio', 'settings']
+ form_fields = ['userid', 'bio', 'settings', 'email']
response = check_form_fields(request, form_fields)
if response:
return response
@@ -608,6 +614,12 @@ def api_user_settings(request):
return response_error('YOU CAN ONLY EDIT YOURSELF MAN')
settings = user_profile.settings
settings.update(thraw(request.POST['settings']))
+ user.email = request.POST['email']
+ user.save()
+ # i guess somehting like this ok whew well now the template? yep #weird looks like edit is gone? here you CAN
+ #log in as me pepper.scannerjammer.Common
+ #user: pepper
+ #pw: amnesia yeah i'm there can't find it I see it in the source...we should try to grep for it, right? yes
user_profile.settings = settings
user_profile.save()
return response_success()
@@ -1049,84 +1061,34 @@ def api_video_remove(request):
def api_video_search(request):
""" Search video view. Private API
"""
+
user = request.user
if not user.is_authenticated():
- return response_error('NO LOGGED IN')
+ return response_error('NOT LOGGED IN')
user_profile = user.get_profile()
form_fields = ['q']
response = check_form_fields(request, form_fields)
if response:
return response
- start = 0
- if 'start' in request.POST and is_number(request.POST['start']):
- start = int(request.POST['start'])
- limit = 10
- if 'limit' in request.POST and is_number(request.POST['limit']):
- limit = int(request.POST['limit'])
- if limit > 100:
- limit = 100
- recenttime = datetime.fromtimestamp(time.time() - 60*60*24*30*3)
-
- videos = SJContent.objects.filter(content_type='video', datetime__gt=recenttime)
- words = {}
- videos_by_url = {}
- videos_by_id = {}
- for video in videos:
- settings = video.settings
- url = settings.get('url', '')
- likes = SJLike.objects.filter(content=video).count()
- username = video.user.username
- if url in videos_by_url:
- videos_by_url[url]['score'] += likes
- if username not in videos_by_url[url]['users']:
- videos_by_url[url]['users'].append(username)
- continue
- settings['id'] = video.id
- settings['users'] = [username]
- settings['score'] = likes
- if 'thumbnail' not in settings:
- settings['thumbnail'] = ''
- videos_by_url[url] = settings
- videos_by_id[video.id] = settings
- terms = re.split(r'\W+', settings['title'])
- terms.extend(settings['users'])
- for term in terms:
- term = term.lower()
- if len(term) >= 2:
- if term not in words:
- words[term] = []
- words[term].append(settings['id'])
- terms = re.split(r'\W+', request.POST['q'].lower())
- match = {}
- for term in terms:
- if term in words:
- for videoid in words[term]:
- if videoid not in match:
- match[videoid] = 1
- else:
- match[videoid] += 1
- results = []
- count = 0
- for videoid in sorted(sorted(match, key=lambda x: videos_by_id[x]['score'], reverse=True), key=lambda x: match[x], reverse=True):
- count += 1
- if count > limit:
- break
- if count < start:
- continue
- settings = videos_by_id[videoid]
- results.append(settings)
- response = response_success(message='')
- for result in results:
+
+ videos = SearchQuerySet().filter(content=request.POST['q']).load_all()
+ for searchresult in videos.all():
+ v = searchresult.object
+ if v.content_type != "video":
+ continue
+ posted_by = SearchQuerySet().filter(content=Exact(v.settings['url'])).count()
response.write('%s\n' % (
- '\t'.join([str(result['id']),
- str(result['score']),
- result['users'][0],
- str(len(result['users'])),
- result['title'],
- result['url'],
- result['thumbnail']])
+ '\t'.join([
+ str(v.id),
+ str(v.sjlike_set.count()),
+ v.user.username,
+ str(posted_by),
+ v.settings['title'],
+ v.settings['url'],
+ v.settings['thumbnail']])
))
- count = len(match)
+ return response
+ count = videos.count()
if start == 0:
search = SJSearch(user=user, datetime=datetime.now())
settings = {
diff --git a/frontend/static/js/profile.js b/frontend/static/js/profile.js
index c4fb146..8cf63e2 100755
--- a/frontend/static/js/profile.js
+++ b/frontend/static/js/profile.js
@@ -159,21 +159,26 @@ var Room =
var Settings =
{
bio: "",
+ email: "",
data: {},
eventSet: false,
defaults:
{
avatar: "http://scannerjammer.com/static/img/runner.gif",
bg: "http://scannerjammer.com/static/bgz/scannerjammer_cyberspace.jpg",
+ email: "",
},
open: function ()
{
- if (parseInt(Auth.userid) !== userProfile[0])
- return
+ if (parseInt(Auth.userid) !== userProfile[0]){
+ return
+ }
$("#settings-hook").show()
$("#profile-avatar").val(Settings.data.avatar)
$("#profile-bg").val(Settings.data.bg)
$("#profile-bio").html(Settings.bio)
+ $("#profile-email").val(Settings.email) //ok only thing is that it's not saving through form submission trying to
+ //seems like it doesn't save in the Settings object, but does do the form submission...
if (! Profile.eventSet)
{
$("#profile-settings-save").bind("click", Settings.save)
@@ -189,6 +194,7 @@ var Settings =
Settings.data.bg = bg
var bio = d.sanitizeWithNewlines( $("#profile-bio").val() )
Settings.bio = bio
+ Settings.email = $('#profile-email').val();
Settings.load()
var s = "avatar\t"+avatar+"\n"
s += "bg\t"+bg+"\n"
@@ -197,6 +203,7 @@ var Settings =
settings: s,
bio: bio,
session: Auth.session,
+ email: Settings.email
}
$.post(API.URL.user.settings, data).success(Settings.saveCallback).error(Settings.errorCallback)
},
@@ -237,12 +244,12 @@ var Settings =
bio += "<p>"+s+"</p>"
}
$("#bio").html(bio)
- Settings.open()
+// Settings.open()
Viewport.standardResize()
},
init: function ()
{
- if (userProfile[6]) // bio
+ if (userProfile[6]) // bio
{
Settings.bio = userProfile[6]
}
@@ -254,6 +261,10 @@ var Settings =
Settings.data[i] = s[i]
}
}
+ if (userProfile[8]){ //email
+ Settings.email = userProfile[8]
+ console.log(Settings.email);
+ }
Settings.load()
}
}
@@ -340,7 +351,7 @@ var Profile =
var lines = API.parse("/user/load", raw)
if (! lines) return
if (lines[0].indexOf("0\t") === 0)
- return // console.log(lines.split("\t")[1])
+ return
queue = []
for (i in lines)
{
@@ -348,7 +359,7 @@ var Profile =
continue
if (lines[i].length < 2)
continue
- line = lines[i].split("\t").slice(1);
+ line = lines[i].split("\t");
queue.push(line)
}
Profile.page += 1
@@ -360,6 +371,9 @@ var Profile =
if (queue.length < 50)
$("#queue").append("<li id='queueDone'>That's all the videos!</li>")
},
+//one second ok I'm back... can we use a breakpoint here? I don't know how to find the right part
+//must be in one of these two scripts i found it, did you use a breakpoint? well just looked at thin profile.js for videos loadLess
+//through the browser? yes ok cool where is it?
loadLess: function ()
{
Profile.page -= 1
@@ -491,6 +505,7 @@ var Poll =
}
}
Poll.poll()
+
Settings.open()
},
poll: function ()
diff --git a/frontend/static/js/src/api.js b/frontend/static/js/src/api.js
index 797823e..3a0cd14 100644
--- a/frontend/static/js/src/api.js
+++ b/frontend/static/js/src/api.js
@@ -6,7 +6,7 @@ var API =
{
auth:
{
- login: "/api/auth/login",
+ login: "/api/auth/login",
logout: "/api/auth/logout",
checkin: "/api/auth/checkin",
sneakin: "/api/auth/sneakin",
@@ -64,6 +64,14 @@ var API =
}
}
// $.ajaxSetup({ timeout: 1000 })
+ $.ajaxSetup({
+ type: "POST",
+ xhrFields: {
+ withCredentials: true
+ },
+ });
+//API.js seems fairly global still no cookie looks good need to check database if it's was updated
+//for my user, right? yep
}
}
var Local =
diff --git a/frontend/static/js/src/auth.js b/frontend/static/js/src/auth.js
index 26da79d..42a92c5 100644
--- a/frontend/static/js/src/auth.js
+++ b/frontend/static/js/src/auth.js
@@ -36,15 +36,24 @@ var Auth =
document.cookie = "session="+Auth.session+";path=/;domain=.scannerjammer.com;max-age=1086400"
Auth.success()
},
+//http://i.imgur.com/kqpf9wX.png yes i see so do we just need to add cors headers? yes, what about nginx, did we restart it?
+//no good yet
checkin: function ()
{
d.warn("CHECK IN")
- $.post(API.URL.auth.checkin, {'session':Auth.session}, Auth.checkinCallback)
+ $.ajax(API.URL.auth.checkin, {
+ type: "POST",
+ data: { 'session':Auth.session, },
+ xhrFields: {
+ withCredentials: true
+ },
+ }).success(Auth.checkinCallback);
},
checkinCallback: function (raw)
{
var lines = API.parse("/auth/checkin", raw)
if (! lines.length) return
+ //so we should just return "OK" right? looks sso
if (lines[0] !== "OK")
{
alert(lines[0].split("\t")[1])
diff --git a/frontend/static/js/src/soundmanager.js b/frontend/static/js/src/soundmanager2.js
index 46528c9..46528c9 100755
--- a/frontend/static/js/src/soundmanager.js
+++ b/frontend/static/js/src/soundmanager2.js
diff --git a/frontend/static/other_rooms/admin.html b/frontend/static/other_rooms/admin.html
index 95539c5..bebab84 100755
--- a/frontend/static/other_rooms/admin.html
+++ b/frontend/static/other_rooms/admin.html
@@ -64,12 +64,12 @@
<script type="text/javascript" src="http://scannerjammer.com/js/src/debug.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/src/api.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/admin.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/like.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/like.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/src/auth.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/chat.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/chat.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/room.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/player.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/youtube.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/player.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/youtube.js"></script>
<!--
<script type="text/javascript" src="http://scannerjammer.com/js/main.js"></script>
-->
diff --git a/frontend/static/other_rooms/calendar.html b/frontend/static/other_rooms/calendar.html
index 5e89162..21c046b 100755
--- a/frontend/static/other_rooms/calendar.html
+++ b/frontend/static/other_rooms/calendar.html
@@ -72,17 +72,17 @@
<script type="text/javascript" src="/js/src/jquery.md5.js"></script>
<script type="text/javascript" src="/other_rooms/datepicker/datepicker.js"></script>
<script type="text/javascript" src="/js/src/swfobject.js"></script>
-<script type="text/javascript" src="/js/soundmanager2.js"></script>
+<script type="text/javascript" src="/js/src/soundmanager2.js"></script>
<script type="text/javascript" src="/js/src/debug.js"></script>
<script type="text/javascript" src="/js/src/api.js"></script>
<script type="text/javascript" src="/js/src/auth.js"></script>
-<script type="text/javascript" src="/js/like.js"></script>
-<script type="text/javascript" src="/js/chat.js"></script>
-<script type="text/javascript" src="/js/player.js"></script>
-<script type="text/javascript" src="/js/vimeo.js"></script>
-<script type="text/javascript" src="/js/youtube.js"></script>
-<script type="text/javascript" src="/js/soundcloud.js"></script>
-<script type="text/javascript" src="/js/audio.js"></script>
+<script type="text/javascript" src="/js/src/like.js"></script>
+<script type="text/javascript" src="/js/src/chat.js"></script>
+<script type="text/javascript" src="/js/src/player.js"></script>
+<script type="text/javascript" src="/js/src/vimeo.js"></script>
+<script type="text/javascript" src="/js/src/youtube.js"></script>
+<script type="text/javascript" src="/js/src/soundcloud.js"></script>
+<script type="text/javascript" src="/js/src/audio.js"></script>
<script type="text/javascript" src="/js/calendar.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
</html>
diff --git a/frontend/static/other_rooms/embed.html b/frontend/static/other_rooms/embed.html
index c15581c..e43c4fc 100755
--- a/frontend/static/other_rooms/embed.html
+++ b/frontend/static/other_rooms/embed.html
@@ -49,16 +49,16 @@
</script>
<script type="text/javascript" src="http://scannerjammer.com/js/src/jquery.md5.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/src/swfobject.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/soundmanager2.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/soundmanager2.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/src/debug.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/src/api.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/src/auth.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/like.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/player.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/vimeo.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/youtube.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/soundcloud.js"></script>
-<script type="text/javascript" src="http://scannerjammer.com/js/audio.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/like.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/player.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/vimeo.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/youtube.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/soundcloud.js"></script>
+<script type="text/javascript" src="http://scannerjammer.com/js/src/audio.js"></script>
<script type="text/javascript" src="http://scannerjammer.com/js/embed.js"></script>
</html>
diff --git a/frontend/static/other_rooms/topvids.html b/frontend/static/other_rooms/topvids.html
index 6b94997..a8b0c2c 100755
--- a/frontend/static/other_rooms/topvids.html
+++ b/frontend/static/other_rooms/topvids.html
@@ -110,17 +110,17 @@ var topVideoQueueTitle = "All Time"
<script type="text/javascript" src="/js/src/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="/js/src/jquery.md5.js"></script>
<script type="text/javascript" src="/js/src/swfobject.js"></script>
-<script type="text/javascript" src="/js/soundmanager2.js"></script>
+<script type="text/javascript" src="/js/src/soundmanager2.js"></script>
<script type="text/javascript" src="/js/src/debug.js"></script>
<script type="text/javascript" src="/js/src/api.js"></script>
<script type="text/javascript" src="/js/src/auth.js"></script>
-<script type="text/javascript" src="/js/like.js"></script>
-<script type="text/javascript" src="/js/chat.js"></script>
-<script type="text/javascript" src="/js/player.js"></script>
-<script type="text/javascript" src="/js/vimeo.js"></script>
-<script type="text/javascript" src="/js/youtube.js"></script>
-<script type="text/javascript" src="/js/soundcloud.js"></script>
-<script type="text/javascript" src="/js/audio.js"></script>
+<script type="text/javascript" src="/js/src/like.js"></script>
+<script type="text/javascript" src="/js/src/chat.js"></script>
+<script type="text/javascript" src="/js/src/player.js"></script>
+<script type="text/javascript" src="/js/src/vimeo.js"></script>
+<script type="text/javascript" src="/js/src/youtube.js"></script>
+<script type="text/javascript" src="/js/src/soundcloud.js"></script>
+<script type="text/javascript" src="/js/src/audio.js"></script>
<script type="text/javascript" src="/js/top.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
</html>
diff --git a/frontend/static/sass/compile.sh b/frontend/static/sass/compile.sh
new file mode 100755
index 0000000..f22b5c1
--- /dev/null
+++ b/frontend/static/sass/compile.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+compass compile
diff --git a/frontend/static/sass/src/profile.sass b/frontend/static/sass/src/profile.sass
index 0d88ea5..fa5ec01 100755
--- a/frontend/static/sass/src/profile.sass
+++ b/frontend/static/sass/src/profile.sass
@@ -181,7 +181,7 @@ body
input
margin: 2px 10px 0 0
width: 100px
- #profile-avatar, #profile-bg
+ #profile-avatar, #profile-bg, #profile-email
width: 300px
#profile-settings-save
font-size: 14px
diff --git a/frontend/static/sass/stylesheets/profile.css b/frontend/static/sass/stylesheets/profile.css
index 13b4a58..20c2537 100755
--- a/frontend/static/sass/stylesheets/profile.css
+++ b/frontend/static/sass/stylesheets/profile.css
@@ -323,7 +323,7 @@ body {
width: 100px;
}
/* line 184, ../src/profile.sass */
-#settings-container #profile-avatar, #settings-container #profile-bg {
+#settings-container #profile-avatar, #settings-container #profile-bg, #settings-container #profile-email {
width: 300px;
}
/* line 186, ../src/profile.sass */
diff --git a/frontend/templates/admin.html b/frontend/templates/admin.html
index c486260..bef2360 100755
--- a/frontend/templates/admin.html
+++ b/frontend/templates/admin.html
@@ -66,12 +66,12 @@
<script type="text/javascript" src="{{STATIC_PREFIX}}js/src/debug.js"></script>
<script type="text/javascript" src="{{STATIC_PREFIX}}js/src/api.js"></script>
<script type="text/javascript" src="{{STATIC_PREFIX}}js/admin.js"></script>
-<script type="text/javascript" src="{{STATIC_PREFIX}}js/like.js"></script>
+<script type="text/javascript" src="{{STATIC_PREFIX}}js/src/like.js"></script>
<script type="text/javascript" src="{{STATIC_PREFIX}}js/src/auth.js"></script>
-<script type="text/javascript" src="{{STATIC_PREFIX}}js/chat.js"></script>
+<script type="text/javascript" src="{{STATIC_PREFIX}}js/src/chat.js"></script>
<script type="text/javascript" src="{{STATIC_PREFIX}}js/room.js"></script>
-<script type="text/javascript" src="{{STATIC_PREFIX}}js/player.js"></script>
-<script type="text/javascript" src="{{STATIC_PREFIX}}js/youtube.js"></script>
+<script type="text/javascript" src="{{STATIC_PREFIX}}js/src/player.js"></script>
+<script type="text/javascript" src="{{STATIC_PREFIX}}js/src/youtube.js"></script>
<!--
<script type="text/javascript" src="{{STATIC_PREFIX}}js/main.js"></script>
-->
diff --git a/frontend/templates/calendar.html b/frontend/templates/calendar.html
index 306ef5a..5c8df56 100755
--- a/frontend/templates/calendar.html
+++ b/frontend/templates/calendar.html
@@ -74,17 +74,17 @@
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/jquery.md5.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/datepicker/datepicker.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/swfobject.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/soundmanager2.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/soundmanager2.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/debug.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/api.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/auth.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/like.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/chat.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/player.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/vimeo.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/youtube.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/soundcloud.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/audio.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/like.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/chat.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/player.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/vimeo.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/youtube.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/soundcloud.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/audio.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/calendar.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
</html>
diff --git a/frontend/templates/profile.html b/frontend/templates/profile.html
index 233bf5d..9df2a44 100755
--- a/frontend/templates/profile.html
+++ b/frontend/templates/profile.html
@@ -59,9 +59,9 @@
</div>
<div id="contact">
- <img src="{{ STATIC_PREFIX }}/img/runner.gif" class="avatar">
+ <img src="{{ STATIC_PREFIX }}/static/img/runner.gif" class="avatar">
<p id="bio"></p>
- <img src="{{ STATIC_PREFIX }}/img/runner.gif" class="avatar">
+ <img src="{{ STATIC_PREFIX }}/static/img/runner.gif" class="avatar">
</div>
<div id="bg">
@@ -98,6 +98,10 @@
<textarea id="profile-bio"></textarea><br/>
<div class="shim"></div>
+ <label>enter email here (private, for administrative use only)</label>
+ <input type="text" id="profile-email"><br/>
+ <div class="shim"></div>
+
<label>&nbsp;</label><button id="profile-settings-save">save</button><br />
<div class="shim"></div>
<div class="shim"></div>
@@ -131,19 +135,19 @@ var now = {{NOW}}
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/jquery.md5.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/swfobject.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/soundmanager2.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/soundmanager2.js"></script>
<!--not sure what debug is -->
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/debug.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/api.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/auth.js"></script>
<!--really not sure why chat and like are here -->
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/like.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/chat.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/player.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/vimeo.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/youtube.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/soundcloud.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/audio.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/like.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/chat.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/player.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/vimeo.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/youtube.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/soundcloud.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/audio.js"></script>
<!-- I guess the probz you were talking about would be in profile.js -->
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/profile.js"></script>
<!--
diff --git a/frontend/templates/profile_img.html b/frontend/templates/profile_img.html
index 65db188..1e75dac 100755
--- a/frontend/templates/profile_img.html
+++ b/frontend/templates/profile_img.html
@@ -59,9 +59,9 @@
</div>
<div id="contact">
- <img src="{{ STATIC_PREFIX }}/img/runner.gif" class="avatar">
+ <img src="{{ STATIC_PREFIX }}/static/img/runner.gif" class="avatar">
<p id="bio"></p>
- <img src="{{ STATIC_PREFIX }}/img/runner.gif" class="avatar">
+ <img src="{{ STATIC_PREFIX }}/static/img/runner.gif" class="avatar">
</div>
<div id="bg">
@@ -128,19 +128,19 @@ var now = {{NOW}}
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/jquery.md5.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/swfobject.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/soundmanager2.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/soundmanager2.js"></script>
<!--not sure what debug is -->
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/debug.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/api.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/auth.js"></script>
<!--really not sure why chat and like are here -->
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/like.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/chat.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/player.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/vimeo.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/youtube.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/soundcloud.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/audio.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/like.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/chat.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/player.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/vimeo.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/youtube.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/soundcloud.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/src/audio.js"></script>
<!-- I guess the probz you were talking about would be in profile.js -->
<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/profile.js"></script>
<!--
diff --git a/frontend/templates/register.html b/frontend/templates/register.html
index f041a50..2d75d5d 100755
--- a/frontend/templates/register.html
+++ b/frontend/templates/register.html
@@ -147,6 +147,11 @@ img
<label></label>
<button id="register-go">REGISTER</button>
+ <div>--or--</div>
+ <div id="password_reset">
+ <a href="{% url "password_reset_recover" %}">Reset Password</a>
+ </div>
+
</section>
<section id="success">
<!--
@@ -166,9 +171,9 @@ img
<section id="plant"><img src="{{ STATIC_PREFIX }}img/plant.gif" height="700" /></section>
</body>
<script type="text/javascript">document.getElementById("plea").style.display="none"</script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/jquery-1.5.2.min.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/jquery.md5.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/swfobject.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}/js/register.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/jquery-1.5.2.min.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/jquery.md5.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/swfobject.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/register.js"></script>
</html>
diff --git a/frontend/templates/topvideos.html b/frontend/templates/topvideos.html
index 5684a68..4f8bbe7 100755
--- a/frontend/templates/topvideos.html
+++ b/frontend/templates/topvideos.html
@@ -112,17 +112,17 @@ var topVideoQueueTitle = "All Time"
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/jquery.md5.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/swfobject.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/soundmanager2.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/soundmanager2.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/debug.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/api.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/auth.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/like.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/chat.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/player.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/vimeo.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/youtube.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/soundcloud.js"></script>
-<script type="text/javascript" src="{{ STATIC_PREFIX }}js/audio.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/like.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/chat.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/player.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/vimeo.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/youtube.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/soundcloud.js"></script>
+<script type="text/javascript" src="{{ STATIC_PREFIX }}js/src/audio.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/top.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
</html>
diff --git a/frontend/views.py b/frontend/views.py
index ab69045..9a97402 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -117,7 +117,7 @@ def directory(request):
return response
def get_thumbnail(user):
- STOCK_THUMBNAIL = 'http://scannerjammer.com/img/runner.gif'
+ STOCK_THUMBNAIL = 'http://scannerjammer.com/static/img/runner.gif'
"""
FIXME
if user.access and 'http' in user.access: # what was those fields?
@@ -151,7 +151,7 @@ def profile(request, username):
topz = SJContent.objects.filter(user__id=userprofile.user.id, content_type='video').annotate(likes=Count('sjlike')).order_by('-likes')[:50]
likez = SJContent.objects.filter(content_type='video', sjlike__user_id = userprofile.user.id ).order_by('-sjlike__datetime')[:50]
tvidz = SJContent.objects.filter(user__id=userprofile.user.id, content_type='video').order_by('-datetime')[:50]
- profile = [ userprofile.id, userprofile.nickname, userprofile.score, 3, 4, 5, userprofile.bio, json.loads(userprofile.settings_text) ]
+ profile = [ userprofile.user.id, userprofile.nickname, userprofile.score, 3, 4, 5, userprofile.bio, json.loads(userprofile.settings_text), userprofile.user.email ]
vidz = []
for a in tvidz:
vidz.insert(0,a)
@@ -176,6 +176,8 @@ def profile(request, username):
)
response['Pragma'] = 'no-cache'
return response
+# looks good to me ok awesome...lets continue this tomorrow? alright hey thanks a lot, don't want this to go too late,
+#but thanks so much for this help, I'll test it no problems
def profile_img(request, username):
""" Directory view
@@ -185,7 +187,7 @@ def profile_img(request, username):
thumbnail = get_thumbnail(userprofile)
likez = SJContent.objects.filter(content_type='text', sjlike__user_id = userprofile.user.id ).order_by('-datetime')[:50]
- profile = [ userprofile.id, userprofile.nickname, userprofile.score, 3, 4, 5, userprofile.bio, json.loads(userprofile.settings_text) ]
+ profile = [ userprofile.user.id, userprofile.nickname, userprofile.score, 3, 4, 5, userprofile.bio, json.loads(userprofile.settings_text), userprofile.user.email ]
response = render_to_response(
'profile_img.html',
@@ -236,11 +238,11 @@ def room(request, roomname):
jsPath = "/js/sj_compiled.js"
title = sjroom.name.capitalize() + " room on ScannerJammer"
- thumbnail = "http://scannerjammer.com/img/plant.gif"
+ thumbnail = "http://scannerjammer.com/static/img/plant.gif"
if sjroom.name == "glitter":
- thumbnail = "http://scannerjammer.com/img/glitter_flower.gif"
+ thumbnail = "http://scannerjammer.com/static/img/glitter_flower.gif"
elif sjroom.name == "glasspopcorn":
- thumbnail = "http://scannerjammer.com/img/glasspopthumb.gif"
+ thumbnail = "http://scannerjammer.com/static/img/glasspopthumb.gif"
title = "GlassPopcorn TV"
elif room == "adult":
#serverPort = 6969
diff --git a/scannerjammer/settings.py b/scannerjammer/settings.py
index 46be8e7..15889ec 100755
--- a/scannerjammer/settings.py
+++ b/scannerjammer/settings.py
@@ -137,6 +137,7 @@ INSTALLED_APPS = (
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
+ 'password_reset',
)
# A sample logging configuration. The only tangible logging
@@ -177,7 +178,7 @@ START_TIME = datetime.now()
SERVER_HOST = 'scannerjammer.com'
SERVER_PORT = 80
-SESSION_COOKIE_DOMAIN=".scannerjammer.com"
+SESSION_COOKIE_DOMAIN=".scannerjammer.com"
USE_X_FORWARDED_HOST=True
HAYSTACK_CONNECTIONS = {
diff --git a/scannerjammer/urls.py b/scannerjammer/urls.py
index d8ba0e1..de316f7 100755
--- a/scannerjammer/urls.py
+++ b/scannerjammer/urls.py
@@ -1,11 +1,20 @@
-from django.conf.urls.defaults import *
+from django.conf.urls.defaults import *
+
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
+from password_reset import views
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
+
urlpatterns = patterns('',
+ url(r'^recover/(?P<signature>.+)/$', views.recover_done,
+ name='password_reset_sent'),
+ url(r'^recover/$', views.recover, name='password_reset_recover'),
+ url(r'^reset/done/$', views.reset_done, name='password_reset_done'),
+ url(r'^reset/(?P<token>[\w:-]+)/$', views.reset,
+ name='password_reset_reset'),
# Examples:
# url(r'^$', 'scannerjammer.views.home', name='home'),
# url(r'^scannerjammer/', include('scannerjammer.foo.urls')),