diff options
author | gnowgi <nagarjun@gnowledge.org> | 2012-12-19 07:49:01 -0800 |
---|---|---|
committer | gnowgi <nagarjun@gnowledge.org> | 2012-12-19 07:49:01 -0800 |
commit | 09ceb4b84ef4b56db42d24ba60e4c58bb9e0a951 (patch) | |
tree | e78056bee2300fab25cf675ccd989e46e103497a /gstudio/templates/gstudio | |
parent | 3ba6b57c6d605262ef9e1f7bba8d62ea20aacc36 (diff) | |
parent | fb6d7b562bf6e2fad92a49061489af1abb92f2f6 (diff) | |
download | gnowsys-09ceb4b84ef4b56db42d24ba60e4c58bb9e0a951.tar.gz |
this commit, includes several unlisted features.
Diffstat (limited to 'gstudio/templates/gstudio')
-rw-r--r-- | gstudio/templates/gstudio/_header.html | 2 | ||||
-rw-r--r-- | gstudio/templates/gstudio/addingtag.html | 82 | ||||
-rw-r--r-- | gstudio/templates/gstudio/addreln.html | 76 | ||||
-rw-r--r-- | gstudio/templates/gstudio/addrelnform.html | 51 | ||||
-rw-r--r-- | gstudio/templates/gstudio/addrelnform_refresh.html | 15 | ||||
-rw-r--r-- | gstudio/templates/gstudio/edittitle.html | 37 | ||||
-rw-r--r-- | gstudio/templates/gstudio/home.html | 16 | ||||
-rw-r--r-- | gstudio/templates/gstudio/priorpost.html | 68 | ||||
-rw-r--r-- | gstudio/templates/gstudio/repriorpost.html | 34 | ||||
-rw-r--r-- | gstudio/templates/gstudio/tags/comment.html | 41 | ||||
-rw-r--r-- | gstudio/templates/gstudio/video.html | 8 |
11 files changed, 419 insertions, 11 deletions
diff --git a/gstudio/templates/gstudio/_header.html b/gstudio/templates/gstudio/_header.html index 123b05da..6523fcf3 100644 --- a/gstudio/templates/gstudio/_header.html +++ b/gstudio/templates/gstudio/_header.html @@ -18,8 +18,10 @@ | <a href="{{ get_absolute_url }}/gstudio/resources/documents" title="My Documents">Documents</a> | <a href="{{ get_absolute_url }}/gstudio/resources/images" title="Images">Images</a> | <a href="{{ get_absolute_url }}/gstudio/resources/videos" title="My Videos">Videos</a> +<!-- | <a href="{{ get_absolute_url }}/nodetypes" title="Nodes">Node Types</a> | <a href="{{ get_absolute_url }}/objects" title="Objects">Node Objects</a> +--> {% if user.is_authenticated %} {% if user.is_staff %} diff --git a/gstudio/templates/gstudio/addingtag.html b/gstudio/templates/gstudio/addingtag.html new file mode 100644 index 00000000..2e505015 --- /dev/null +++ b/gstudio/templates/gstudio/addingtag.html @@ -0,0 +1,82 @@ +{% load gstudio_tags %} +{% load tagging_tags comments i18n %} + +<script type="text/javascript" > +var availableTags = []; +$.merge(availableTags, {% get_add_tag %}) + + +jQuery(document).ready(function($) { +$(".tag{{objectid}}").click(function(){ +data = $("#tags{{objectid}}").attr('value'); +$.ajax({ +url: '/gstudio/resources/images/addtag/', +//type: 'POST', +data: {objectid:{{objectid}},data:data}, +success: function(data){ +$('.tags{{objectid}}').html(data); + +} +}); +$("#tags{{objectid}}").val(""); +}); + +/*$(".deletetags").click(function(){ +tagname = $(this).attr('value'); + +$.ajax({ +url: '/gstudio/resources/images/deletetag/', +//type: 'POST', +data: {objectid:{{objectid}},data:tagname}, +success: function(data){ +$('.tags{{objectid}}').html(data); +} +}); + +});*/ +}); +function tagfunction(arr,id){ +tagname = arr; +$.ajax({ +url: '/gstudio/resources/images/deletetag/', +//type: 'POST', +data: {objectid:id,data:tagname}, +success: function(data){ +$('.tags'+id).html(data); +} +}); + +} +</script> + +<div class="tags{{objectid}}"> + <!-- <p class="gbobject-tags span-16 last"> --> + <strong>{% trans "Tags" %}</strong> : + {% tags_for_object viewtag as tag_list %} + {% for tag in tag_list %} + <a href="{% url objectapp_tag_detail tag %}" + title="Tag {{ tag }}" rel="tag">{{ tag }}</a> +{% if user.is_authenticated %} + <a class="deletetags" value="{{tag}}" title="delete {{tag}}" onclick='tagfunction("{{tag}}","{{objectid}}");' ><img src="/static/gstudio/js/orgitdown/orgitdown/sets/org/images/close.jpeg" width = 8px; style="vertical-align: super;"/></a> +{% endif %} + {% if not forloop.last %},{% endif %} + {% empty %} + <span>{% trans "No tags" %}</span> + {% endfor %} +<!-- </p> --> + </div> + {% if user.is_authenticated %} + <script type="text/javascript" > + $(document).ready(function(){ + $( "#tags{{objectid}}" ).autocomplete({ + source: availableTags + }); + }); + </script> +{% csrf_token %} + <input type="hidden" name="docid" value={{objectid}}> + <!-- <input type="text" class="tagtext" value="" name="texttags" />--> + <input id="tags{{objectid}}" class="tagtext" name="texttags"> + <input type="button" class="tag{{objectid}}" value="Add Tags" name="addtags" /> + <br> + {% endif %} diff --git a/gstudio/templates/gstudio/addreln.html b/gstudio/templates/gstudio/addreln.html new file mode 100644 index 00000000..b484b8b0 --- /dev/null +++ b/gstudio/templates/gstudio/addreln.html @@ -0,0 +1,76 @@ +{% load gstudio_tags %} +<script type="text/javascript"> +var availableobjs = []; +$.merge(availableobjs, {% get_available_objects %}) +var availablerts=[] +$.merge(availablerts, {% get_available_rts %}) +$(document).ready(function(){ + $("#res_relation").autocomplete({ + source: availablerts + }); + $("#res_object").autocomplete({ + source: availableobjs + }); +$("#addreln").click(function(){ +alert("Please wait till the relation is shown in the existing relations..."); +var ajurl ="/gstudio/resources/addreln/thread/"+{{meetingob.id}} + +var res_reln = $("#res_relation").val() +var res_obj= $("#res_object").val() +if (res_reln == "" || res_obj == "" ) +{ alert("Please select relation and right object"); +} +else +{ +$.ajax({ + url: ajurl, + data: {relnobj:res_reln,obobject:res_obj}, + success: function(data){ + + $('#res_relation').val(""); + $('#res_object').val(""); + alert("Added relation"); + $('#relndiv').html(data); + + } +}); +} +}); +}); +function target_popup(form) { + window.open('', 'formpopup', 'left=360,width=500,height=300,resizeable,scro\ +llbars'); + form.target = 'formpopup'; + + + } + +</script> +<div id="relndiv"> +<br/> + +<b>Existing Relations for this page: </b> + {% if not meetingob.get_relations_for_view.items %} + No relations + {% endif %} + {% for key,value in meetingob.get_relations_for_view.items %} + {{key}} - + {% for rel in value %} + {{rel}}; + {% endfor %} + {% endfor %} + +</div> +<form method="post" action=""> {% csrf_token %} +Select/Add a Relationtype: <nbsp> +<input value="" name="textreln" id="res_relation"> +<!-- +<a href="/admin/gstudio/relationtype/add" class="add-another" id="add_id_{{ field }}" onclick="return showAddAnotherPopup(this);"> +--> +<a href="/gstudio/resources/addreln/form/{{meetingob.id}}" class="add-another" id="addrel" onclick="target_popup(this)"> +<img width="10" height="10" alt="Add Another" src="/static/grappelli/img/admin/icon_addlink.gif"> +</a> +Select an object: <nbsp> +<input value="" name="textobj" id="res_object"> +<input type="button" id="addreln" name="" value="Add Relation"> +</form> diff --git a/gstudio/templates/gstudio/addrelnform.html b/gstudio/templates/gstudio/addrelnform.html new file mode 100644 index 00000000..113a450a --- /dev/null +++ b/gstudio/templates/gstudio/addrelnform.html @@ -0,0 +1,51 @@ +{% load gstudio_tags %} +{% load adminmedia grp_tags %} +<script src="{% admin_media_prefix %}jquery/jquery-1.6.2.min.js" type="text/javascript"> + +</script> +<script> +function close_window() +{ window.close() +} + + +function saverelnform() +{ +var reln=$("#res_relation").val(); +var obj=$("#res_object").val(); +var slug=$("#res_slug").val(); + +$.ajax({ + method:'POST', + url: '/gstudio/resources/addreln/form/{{meetob}}', + data: {reln:reln,obj:obj,slug:slug}, + success: function(){ + window.close() + } + }); +} + +</script> +<html> <body bgcolor="#E6E6FA"> +<form method="post" name="addrelnfrm" action="."> {% csrf_token %} +<h1>Add Relation(link) name</h1> +<h2>Title:                 +<input value="" name="reln" id="res_relation"> +<br/></h2> +<h2>Inverse Name:   +<input value="" name="obj" id="res_object"> +<br/></h2> +<h2>Slug:                 +<input value="" name="slug" id="res_slug"> +<br/></h2> +<br/>                               +<!-- +<input type="submit" id="addsavereln" name="" value="Save" ><nbsp> +--> +        +<input type="button" id="addrel" value="Save" onclick="saverelnform()"> + +<input type="submit" id="addcancelreln" name="" value="Cancel" onclick="close_window()"> +</form> +</body> +</html> diff --git a/gstudio/templates/gstudio/addrelnform_refresh.html b/gstudio/templates/gstudio/addrelnform_refresh.html new file mode 100644 index 00000000..f9592354 --- /dev/null +++ b/gstudio/templates/gstudio/addrelnform_refresh.html @@ -0,0 +1,15 @@ +{% load gstudio_tags %} + +<div id="relndiv"> +<br/> +<b>Existing Relations for this page: </b> + {% if not meetobj.get_relations_for_view.items %} + No relations + {% endif %} + {% for key,value in meetobj.get_relations_for_view.items %} + {{key}} - + {% for rel in value %} + {{rel}}; + {% endfor %} + {% endfor %} +</div> diff --git a/gstudio/templates/gstudio/edittitle.html b/gstudio/templates/gstudio/edittitle.html new file mode 100644 index 00000000..b8207e9d --- /dev/null +++ b/gstudio/templates/gstudio/edittitle.html @@ -0,0 +1,37 @@ +<script type="text/javascript" > +jQuery(document).ready(function($) { +$("#titleeditcontent").click(function(){ +document.getElementById('texttagtitle').style.visibility="visible"; +$("#texttagtitle").val($("#titleeditortext").val()); +document.getElementById('titlesave').style.visibility="visible"; +$("#titleeditcontent").hide(); +}); +$("#titlesave").click(function(){ +var org_data = $("#texttagtitle").val(); +var encode_data = encodeURIComponent(org_data); +var decode_data = decodeURIComponent(encode_data.replace(/\+/g, " ")); +$("#titlecommenttext").val(decode_data); + +$.ajax({ +url: '/gstudio/resources/images/edittitle/', +<!-- type:"POST", --> +data: {title:decode_data,titleid:{{objectid}}}, +success: function(){ +document.location.reload(true) +} +}); + +}); +}); +</script> + + +<!-- <form method="get" action=""> -->{% csrf_token %} +<input type="hidden" name="imgid" value={{objectid}}> +<input type="button" id="titleeditcontent" name="" value="Edit title"/> +<input type="text" value="" name="texttags" id="texttagtitle" style="visibility:hidden" /> +<input type="button" class="titlecommentsavecontent" id="titlesave" value="Save" style="visibility:hidden" /> +<input type="hidden" name="titlecontenttext" id="titlecommenttext" style="visibility:hidden" /> +<input type="hidden" id="titleeditortext" style="visibility:hidden" value="{{ objecttitle }}"> +<!-- </form> --> + diff --git a/gstudio/templates/gstudio/home.html b/gstudio/templates/gstudio/home.html index f1e7a025..44dd4685 100644 --- a/gstudio/templates/gstudio/home.html +++ b/gstudio/templates/gstudio/home.html @@ -90,7 +90,8 @@ </style> <script src="http://code.jquery.com/jquery-latest.js"></script> - <script type="text/javascript" > + <scipt src="{% admin_media_prefix %}jquery/jquery-1.6.2.min.js" type="text/javascript"></script> + <script type="text/javascript" > $(window).load(function() { @@ -123,6 +124,10 @@ <div id="header" > {% include "gstudio/_header.html" %} </div> +{% put_home_title as home_content %} +{%with home_content|safe as home %} +{{home}} +{% endwith %} <div class="tags" align="center" id="tag"> <!--<h2>{% trans "Tag Cloud" %}</h2>--> {% get_tag_cloud %} @@ -138,7 +143,12 @@ </form> </div><br/><br/><br/> <link rel="stylesheet" type="text/css" media="screen, projection" href="/static/gstudio/css/screen.css" /> -<center><p style = " font-size : 19px ; color : #4d659e"><b>The site provides a loom (place to exchange views from the members of the site on a topic, or seek responses from members); collaboratively construct wikipages; share electronic documents, images and videos and use them in your discussions or wikipages; and create semantic networks. We will soon provide a link on how to use the site prominently on the home page. All resources are released under creative commons license. <a href="/more/"><font color="red">more</font></a></b></p></center> +<center><p style = " font-size : 19px ; color : #4d659e"><b> +{% put_home_content as home_content %} +{% with home_content|safe as home %} +{{home}} +{% endwith %} +<a href="/more/"><font color="red">more</font></a></b></p></center> <div class="homebottom"> <div class="authors"> <h3>{% trans "Recents Authors" %}</h3> @@ -147,7 +157,7 @@ <div class="recentsnodetype"> <h3>{% trans "Recent Objects" %}</h3> -{% get_recent_gbobjects 12%} +{% get_random_gbobjects 12%} </div> <div class="comments"> <h3>{% trans "Recent Comments" %}</h3> diff --git a/gstudio/templates/gstudio/priorpost.html b/gstudio/templates/gstudio/priorpost.html new file mode 100644 index 00000000..49e4a8af --- /dev/null +++ b/gstudio/templates/gstudio/priorpost.html @@ -0,0 +1,68 @@ +{% load gstudio_tags %} +{% load i18n %} +<script type="text/javascript" > + +var availableObjects = []; +$.merge(availableObjects, {% get_pri_post_page %}) + +jQuery(document).ready(function($) { +$("#addpriorpost").click(function(){ + +var data +data = $("#priorpage").attr('value'); +$.ajax({ +url: '/gstudio/resources/images/addpriorpost/', +//type:"POST", +data: {title:data,titleid:{{objectid}}}, +success: function(data){ +$('#priorpostpages').html(data); + +} +}); +$("#priorpage").val(""); +}); +}); + +$(document).ready(function(){ +$( "#priorpage" ).autocomplete({ +source: availableObjects +}); +}); + +</script> + +<div id = "priorpostpages"> +<br/> +<strong>Prior Pages:</strong> +{% for each in priorgbobject %} +<a href="{{each.get_view_object_url}}">{{each}}</a> +{% if not forloop.last %},{% endif %} +{% empty %} + <span>No prior page</span> +{% endfor %} +<br/> +<strong>Posterior Pages:</strong> +{% for each in posteriorgbobject %} +<a href="{{each.get_view_object_url}}">{{each}}</a> +{% if not forloop.last %},{% endif %} +{% empty %} + <span>No Posterior Page</span> +{% endfor %} +<br/> +</div> + +{% if user.is_authenticated %} +<!-- <form method="get" action=""> -->{% csrf_token %} + +<input type="hidden" name="docid" value={{objectid}}> +<input id="priorpage" class="tagpriorpage" name="textpriorpage"> +<input type="button" class="priorpost" id="addpriorpost" value="Add Prior Page" name="addtags" /> +<br/><br/> +<!-- <input type="button" id="titleeditcontent" name="" value="Edit a title"/> +<input type="text" value="" name="texttags" id="texttagtitle" style="visibility:hidden" /> +<input type="button" class="titlecommentsavecontent" id="titlesave" value="Save" style="visibility:hidden" /> +<input type="hidden" name="titlecontenttext" id="titlecommenttext" style="visibility:hidden" /> +<input type="hidden" id="titleeditortext" style="visibility:hidden" value="{{ objecttitle }}"> +<!-- </form> --> +{% endif %} + diff --git a/gstudio/templates/gstudio/repriorpost.html b/gstudio/templates/gstudio/repriorpost.html new file mode 100644 index 00000000..3499db0e --- /dev/null +++ b/gstudio/templates/gstudio/repriorpost.html @@ -0,0 +1,34 @@ +{% load tagging_tags comments i18n %} +{% ifequal optionpriorpost "priorpost" %} +<br/> +<strong>Prior Pages:</strong> +{% for each in priorgbobject %} +<a href="{{each.get_view_object_url}}">{{each}}</a> +{% if not forloop.last %},{% endif %} +{% empty %} + <span>No prior page</span> +{% endfor %} +<br/> +<strong>Posterior Pages:</strong> +{% for each in posteriorgbobject %} +<a href="{{each.get_view_object_url}}">{{each}}</a> +{% if not forloop.last %},{% endif %} +{% empty %} + <span>No Posterior Pages</span> +{% endfor %} +<br/> +{% endifequal %} +{% ifequal optiontag "tag" %} + <strong>{% trans "Tags" %}</strong> : + {% tags_for_object viewtag as tag_list %} + {% for tag in tag_list %} + <a href="{% url objectapp_tag_detail tag %}" + title="Tag {{ tag }}" rel="tag">{{ tag }}</a> + <a class="deletetags" value="{{tag}}" title="delete {{tag}}" onclick='tagfunction("{{tag}}","{{objectid}}");'><img src="/static/gstudio/js/orgitdown/orgitdown/sets/org/images/close.jpeg" width = 8px; style="vertical-align: super;"/></a> + {% if not forloop.last %},{% endif %} + {% empty %} + <span>{% trans "No tags" %}</span> + {% endfor %} + +{% endifequal %} + diff --git a/gstudio/templates/gstudio/tags/comment.html b/gstudio/templates/gstudio/tags/comment.html index efb462fc..423fc937 100644 --- a/gstudio/templates/gstudio/tags/comment.html +++ b/gstudio/templates/gstudio/tags/comment.html @@ -6,6 +6,12 @@ $(window).load(function() { $(".commentsavecontent").hide(); $(".postreply").hide(); }); +function deleteclick(delobj) +{ + activity ='deleted_response' + not_obj=delobj +notifedtdel(); +} </script> {% if comment.posterior_nodes.count %} <!--<ul style="display: none;">--> @@ -26,7 +32,12 @@ else { document.getElementById("divchange").setAttribute("id","div2"); } +function submtfrm() +{ +alert("form to post"); +document.forms["response"].submit(); +} </script> @@ -35,7 +46,7 @@ document.getElementById("divchange").setAttribute("id","div2"); <h5>Current rating is {{ child.rating.get_rating }}<h5/> {% endif %} <font style = "color:red;" size = 3>{{child.content}}</font> - <form method="post" action=".">{% csrf_token %} + <form method="post" name="response" action=".">{% csrf_token %} <input type="hidden" class="commentreptext" id="text{{child.id}}" name="reply" style="visibility:hidden"> <input type="hidden" id="hidden{{child.id}}" value={{child.id}} name="parentid"> <input type="hidden" value={{idusr}} name="idusr"> @@ -45,8 +56,10 @@ document.getElementById("divchange").setAttribute("id","div2"); <input type="button" class="commenteditor" id="{{ child.id }}" value="Add a Response"> <input type="button" class="commentsavecontent" id="save{{child.id}}" value="Save" onclick="saveclick(document.getElementById('hidden{{child.id}}').value)"> <input type="submit" class="postreply" id="submit{{child.id}}" value="Submit"> + <input type="checkbox" class="chkdel" id="chk{{child.id}}" name="del_comment" value="delete_comment"> <input type="submit" class="submitdelete" id="delete{{child.id}}" value="Delete" onclick="deleteclick(document.getElementById('hidden{{child.id}}').value)"> + <br/> <div class="rating"> Rate the response </br> @@ -87,7 +100,7 @@ Current rating is {{ child.rating.get_rating }}<br/> {% endif %} <font style = "color:red;" size ="3">{{child.content}}</font> - <form method="post" action="">{% csrf_token %} + <form method="post" name="response" action="">{% csrf_token %} <input type="hidden" class="commentreptext" id="text{{child.id}}" name="reply" style="visibility:hidden"> <input type="hidden" id="hidden{{child.id}}" value={{child.id}} name="parentid"> <input type="hidden" value={{idusr}} name="idusr"> @@ -97,6 +110,9 @@ Current rating is {{ child.rating.get_rating }}<br/> <input type="button" class="commenteditor" id="{{ child.id }}" value="Add a Response"> <input type="button" class="commentsavecontent" id="save{{child.id}}" value="Save" onclick="saveclick(document.getElementById('hidden{{child.id}}').value)"> <input type="submit" class="postreply" id="submit{{child.id}}" value="Submit"> + + + <input type="checkbox" class="chkdel" id="chk{{child.id}}" name="del_comment" value="delete_comment"> <input type="submit" class="submitdelete" id="delete{{child.id}}" value="Delete" onclick="deleteclick(document.getElementById('hidden{{child.id}}').value)"> @@ -138,7 +154,7 @@ Current rating is {{ child.rating.get_rating }}<br/> {% endif %} <font style = "color:red;" size = 3>{{child.content}}</font> - <form method="post" action=".">{% csrf_token %} + <form method="post" name="response" action=".">{% csrf_token %} <input type="hidden" class="commentreptext" id="text{{child.id}}" name="reply" style="visibility:hidden"> <input type="hidden" id="hidden{{child.id}}" value={{child.id}} name="parentid"> <input type="hidden" value={{idusr}} name="idusr"> @@ -148,8 +164,25 @@ Current rating is {{ child.rating.get_rating }}<br/> <input type="button" class="commenteditor" id="{{ child.id }}" value="Add a Response"> <input type="button" class="commentsavecontent" id="save{{child.id}}" value="Save" onclick="saveclick(document.getElementById('hidden{{child.id}}').value)"> <input type="submit" class="postreply" id="submit{{child.id}}" value="Submit"> + +{% check_user_admin idusr as admin_usercheck %} +{% if admin_usercheck %} + <input type="checkbox" class="chkdel" id="chk{{child.id}}" name="del_comment" value="delete_comment"> - <input type="submit" class="submitdelete" id="delete{{child.id}}" value="Delete" onclick="deleteclick(document.getElementById('hidden{{child.id}}').value)"> <br/> + <input type="submit" class="submitdelete" id="delete{{child.id}}" value="Delete" onclick="deleteclick(document.getElementById('hidden{{child.id}}').value)"> + +<br/> +{% endif %} +{% for author in child.authors.all %} +{% ifequal author.id idusr %} + + <input type="checkbox" class="chkdel" id="chk{{child.id}}" name="del_comment" value="delete_comment"> + <input type="submit" class="submitdelete" id="delete{{child.id}}" value="Delete" onclick="deleteclick(document.getElementById('hidden{{child.id}}').value)"> + +<br/> +{% endifequal %} +{% endfor %} + <div class="rating"> Rate this response </br> <input name="star1" type="radio" value=1 class="star"/> diff --git a/gstudio/templates/gstudio/video.html b/gstudio/templates/gstudio/video.html index c50b6df7..201a335a 100644 --- a/gstudio/templates/gstudio/video.html +++ b/gstudio/templates/gstudio/video.html @@ -80,7 +80,7 @@ background: green; {% autopaginate vids 10 %} -<h2 style="color: teal;">Video Library</h2> +<h2 style="">Video Library</h2> <br/> <div id="upperdiv"> @@ -173,9 +173,9 @@ document.getElementById('headvideo').style.visibility="visible"; {% if fav %} -<h2 style="color: teal;">Favourite Videos</h2><br/> +<h2 style="">Favourite Videos</h2><br/> {% else %} -<h2 style="color: teal;">List of Videos in the library </h2><br/> +<h2 style="">List of Videos in the library </h2><br/> {% endif %} <div id="listvideo"> @@ -195,7 +195,7 @@ document.getElementById("divvideo").setAttribute("id","div2"); } </script> -<font size="4">{% if video.title %}{{video.title}}{% else %}{{video.altnames}}{% endif %}</font> +<font size="4">{% if video.title %}{{video.title}}{% else %}{{video.altnames}}{% endif %}[ <a href="{{ video.get_absolute_url }}" title="{{ video.title }}" rel="bookmark">Show Graph</a> ]</font> <form enctype="multipart/form-data" method="post" action="" target="_blank"> {% csrf_token %} <input type="hidden" name = "full" value ={{video.slug}}> |