]> git.decadent.org.uk Git - memories.git/blob - templates/photo/comment
Ajax-up the comments (References #5) and add user ratings (Closes #6).
[memories.git] / templates / photo / comment
1 <p style="background:#fff">Rate this photo!
2 <span class="inline-rating">
3 <ul class="star-rating">
4    [% IF photo.approx_rating %]
5    <li class='current-rating' style="width:[% photo.approx_rating * 25 %]px">Currently [%photo.approx_rating%]/5 Stars.</li>
6    [% END %]
7    <li><a href='javascript:add_rating(1)' title='1 star out of 5' class='one-star'>1</a></li>
8    <li><a href='javascript:add_rating(2)' title='2 stars out of 5' class='two-stars'>2</a></li>
9    <li><a href='javascript:add_rating(3)' title='3 stars out of 5' class='three-stars'>3</a></li>
10    <li><a href='javascript:add_rating(4)' title='4 stars out of 5' class='four-stars'>4</a></li>
11    <li><a href='javascript:add_rating(5)' title='5 stars out of 5' class='five-stars'>5</a></li>
12    </ul>
13 </span>
14  ([%photo.approx_rating%] out of [%photo.rated%] votes) 
15 </p>
16 <script>
17 add_rating = function (rank) {
18     new Ajax.Request("[%base%]/photo/add_rating/[%photo.id%]",
19       { method: "get", parameters: {rating: rank },
20         onSuccess: function () {
21           new Ajax.Updater("content", "[%base%]/photo/comment/[%photo.id%]")
22         }
23       });
24     add_rating = function (rank) { alert("You've already rated this photo")  }
25 }
26
27
28 function post_comment () {
29     new Ajax.Request("[%base%]/photo/add_comment/[%photo.id%]",
30       { method: "post",
31         parameters: { name: $("commentname").value,
32                       content: $("newcomment").value
33                     },
34         onSuccess: function () {
35           new Ajax.Updater("content", "[%base%]/photo/comment/[%photo.id%]")
36         }
37       });
38 }
39 </script>
40 <div class="comments">
41 [% FOR comment = photo.comments %]
42     <div class="comment">
43         [% comment.name | html %] writes...<hr>
44         [% comment.content %]
45     </div>
46 [% END %]
47     <div class="comment">
48         <form action="javascript:post_comment()" method="post">
49         Name: <input id="commentname" name="name" /> <hr>
50         <textarea id="newcomment" name="content" cols="60" rows="5"/></textarea>
51         <p>
52         <input type="submit" name="Comment on this picture" value="Comment on this picture">
53         </p>
54         </form>
55     </div>
56 </div>