Replace multiselect by table on permission template
authorverrierj
Fri, 23 Dec 2011 16:08:16 +0100
changeset 301 fc7870c3117b
parent 300 3aee98be8ea6
child 302 114244aacd4e
Replace multiselect by table on permission template
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/sharewith.html
src/ldt/ldt/locale/en/LC_MESSAGES/django.mo
src/ldt/ldt/locale/en/LC_MESSAGES/django.po
src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo
src/ldt/ldt/locale/fr/LC_MESSAGES/django.po
src/ldt/ldt/static/ldt/css/ldtform.css
src/ldt/ldt/static/ldt/img/eye.png
src/ldt/ldt/static/ldt/img/group.png
src/ldt/ldt/static/ldt/img/pencil.png
src/ldt/ldt/static/ldt/img/user.png
src/ldt/ldt/static/ldt/js/multiselect.js
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html	Fri Dec 23 11:18:24 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html	Fri Dec 23 16:08:16 2011 +0100
@@ -12,7 +12,6 @@
     <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.textchange.min.js"></script>
     <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery-ui.min.js"></script>
     <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/swfupload/swfupload.js"></script>
-    <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/multiselect.js"></script>
     <script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>
 	
 	{{ content_form.media.js }}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html	Fri Dec 23 11:18:24 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html	Fri Dec 23 16:08:16 2011 +0100
@@ -7,7 +7,7 @@
 	{{ block.super }}
     <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}/js/jquery.nyroModal.min.js"></script> 
     <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js"></script>  
-    <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/multiselect.js"></script> 
+	<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/tiny_mce/tiny_mce.js"></script>
 	{{ content_form.media.js }}
 {% endblock %}
 
@@ -23,10 +23,6 @@
 	{{ block.super }}
 	<script type="text/javascript">
 	
-	function init_events(container) {
-		filter_elems($("#sharelist"),$("#selectedlist"));
-	}	
-
 	$(document).ready(function() {
 		check_uncheck_all("content");
 		
@@ -43,9 +39,7 @@
 			parent.$.nmTop().close();
 		});						
 	});
-	</script>
-	<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/tiny_mce/tiny_mce.js"></script>
-    <script type="text/javascript">
+	
     tinyMCE.init({
         plugins : '-example', 
         mode : "textareas",
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html	Fri Dec 23 11:18:24 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html	Fri Dec 23 16:08:16 2011 +0100
@@ -1,13 +1,29 @@
 {% load i18n %}
 
+<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery-ui.min.js"></script>
 <script type="text/javascript">
 		
+	function init_events() {
+		$("#itemcontainer tr").each(function () {
+			var current_item = $(this);
+			var val = $("input",$(this)).val();
+			$("#selecteditemcontainer tr").each(function () {
+				var cmp_val = $("input",$(this)).val();
+				if (cmp_val == val) {
+					current_item.remove();
+				}
+			});
+		});
+	}
+		
 	$(document).ready(function() {
 		var search_url = "{% url ldt.ldt_utils.views.share_filter filter='__FILTER__' use_groups='true' %}";
 		var share_this = '{% trans "share this project" %}';
 		var do_not_share = '{% trans "do not share" %}';
 		var share_img = '{{LDT_MEDIA_PREFIX}}img/user_add.png';
 		var do_not_share_img = '{{LDT_MEDIA_PREFIX}}img/user_delete.png';
+		var can_edit = '{{LDT_MEDIA_PREFIX}}img/pencil.png';
+		var can_view = '{{LDT_MEDIA_PREFIX}}img/eye.png';
 		var state = 1;
 			
 		if ($("#add_contribution").size()) {
@@ -16,8 +32,11 @@
 			var resize_elem = $("#add_content");
 		}
 		
-		init_multi_select_events ($("#sharelist"), $("#selectedlist"), $("#read"), $("#write"), "#searchuserinput", search_url);
-			
+		input_list_init = [
+			{'input_selector':"#searchuserinput", 'container_selector': "#itemcontainer", 'url':search_url}
+		];	           	
+		searchFieldInit(input_list_init);	
+	
 		$("#shareproject").click(function () {
 			if (state == 1) {
 				$("#sharecontainer").show();
@@ -34,8 +53,62 @@
 			}
 			
 			resize_modal_window(resize_elem);
+		});		
+
+		$(".can_edit").live('click', function () {			
+			$(this).attr('src', can_view);
+			$(this).removeClass('can_edit').addClass('can_view');			
+			var id_item = $("input",$(this).closest('.shareline')).val();
+			$("#read input[value=" + id_item + "]").remove();
+			$("#write input[value=" + id_item + "]").remove();
+		});
+		
+		$(".can_view").live('click', function () {
+			$(this).attr('src', can_edit);
+			$(this).removeClass('can_view').addClass('can_edit');
+			var id_item = $("input",$(this).closest('.shareline')).val();
+			$("#write").append('<input type="hidden" name="write_list" value="' + id_item + '"/>');
+		});
+		
+		$("table").selectable({
+			filter: ".shareline",
+			cancel: ".can_view, .can_edit",
 		});
 		
+		$("#selectelems").click(function () {
+			var selection = $("#elemslistcontainer .ui-selected");
+			$("#selectedlistcontainer table").append(selection);
+			$("#elemslistcontainer").remove(".ui-selected");
+			
+			selection.each(function () {
+				var id_item = $("input",$(this)).val();
+				$("#read").append('<input type="hidden" name="read_list" value="' + id_item + '"/>');
+				$("td:last",$(this)).append('<img class="can_view" src="{{LDT_MEDIA_PREFIX}}img/eye.png" alt="{% trans "share.eye" %}"/>');
+			});
+		});
+		
+		$("#removeelems").click(function () {
+			var selection = $("#selectedlistcontainer .ui-selected");
+			$("#elemslistcontainer table").append(selection);
+			$("#selectedlistcontainer").remove(".ui-selected");	
+			
+			selection.each(function () {
+				var id_item = $("input",$(this)).val();
+				$("#read input[value=" + id_item + "]").remove();
+				$("#write input[value=" + id_item + "]").remove();
+				$(".can_view, .can_edit", $(this)).remove();
+			});
+		});
+		
+		$("#selectall").click(function () {
+			$("#elemslistcontainer tr").addClass('ui-selected');
+			$("#selectelems").trigger('click');			
+		});
+		
+		$("#removeall").click(function () {
+			$("#selectedlistcontainer tr").addClass("ui-selected");
+			$("#removeelems").trigger('click');			
+		});
 	});
 </script>
 
@@ -46,18 +119,21 @@
 
 <input type="hidden" name="share" value="False" id="id_share"/>
 
-
-<div id="sharecontainer" style="display: none;">
+<div id="sharecontainer" style="display:none;">
 
 	<div id="permissioncontainer" class="append-bottom clear">
-		<div id="elemslistcontainer" clas="span-18">
+		<div id="elemslistcontainer" clas="span-9">
 			<div id="elemslistheader">
 				{% trans "User and group list" %}<br />
 				<div class="searchfield span-4"><input type="text" name="search" id="searchuserinput" class="searchfieldinput searchfieldinputbase" value="{% trans 'search' %}"/><img id="projectsajaxloader" class="searchajaxloader" src="{{LDT_MEDIA_PREFIX}}/img/ajax-loader-16x16.gif" alt="loader"/><img id="projecsclear" class="searchclear" src="{{LDT_MEDIA_PREFIX}}img/clear-left.png"/></div>
 			</div><br /><br />
-			<select multiple="multiple" id="sharelist">
-				{% include "ldt/ldt_utils/partial/sharewith.html" %}
-			</select>
+			
+			<div class="tableuserorgroup">
+			<table id="itemcontainer" class="userorgroups">
+				{% include "ldt/ldt_utils/partial/sharewith.html" %}				
+			</table>
+			</div>
+			
 			<div id="elemslistfooter">
 				<a href="#" id="selectall" title="{% trans "select all displayed elements" %}"><img class="shareicon" src="{{LDT_MEDIA_PREFIX}}img/user_go.png" title="{% trans "select all displayed elements" %}"/>{% trans "select all displayed elements" %}</a>
 			</div>
@@ -72,15 +148,36 @@
 			<div id="selectedlistheader" >
 				{% trans "Members list" %}
 			</div>
-			<select multiple="multiple" id="selectedlist" >
-				{% for elem in member_list %}
-					<option value="{{ elem.id }}-{{elem.type}}" {% if elem.change %}style="color: #2181B1;"{% endif %}>{{ elem.name }}</option>
-				{% endfor %}
-			</select>&
+			
+			<div class="tableuserorgroup">
+			<table id="selecteditemcontainer" class="userorgroups" style="width: 250px;">
+			
+			{% for elem in member_list %}
+			<tr class="shareline">
+				<td style="width: 5%;">
+				{% if elem.type == "user" %}
+					<img src="{{LDT_MEDIA_PREFIX}}img/user.png" alt="{% trans "user" %}"/>
+				{% else %}
+					<img src="{{LDT_MEDIA_PREFIX}}img/group.png" alt="{% trans "group" %}"/>		
+				{% endif %}
+				</td>
+				
+				<td style="width: 95%;">{{ elem.name }}</td>
+				<td>
+				{% if elem.change %}
+				<img src="{{LDT_MEDIA_PREFIX}}img/pencil.png" alt="{% trans "share.pencil" %} />
+				{% else %}
+				<img src="{{LDT_MEDIA_PREFIX}}img/eye.png" alt="{% trans "share.eye" %} />
+				{% endif %}
+				</td>
+				<input type="hidden" value="{{ elem.id }}-{{ elem.type }}"/>
+			</tr>
+			{% endfor %}				
+			</table>
+			</div>
+			
 			<div id="selectedlistfooter" class="span-6" >
 				<a href="#" id="removeall" title="{% trans "remove all" %}">{% trans "remove all" %}</a>
-				| <a href="#" id="chooseaux" title="{% trans "Decide whether a user user can change this group" %}">{% trans "can change" %}</a>
-				| <a href="#" id="removeaux">{% trans "can not change" %}</a>
 			</div>	
 		</div>
 		
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/sharewith.html	Fri Dec 23 11:18:24 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/sharewith.html	Fri Dec 23 16:08:16 2011 +0100
@@ -1,3 +1,17 @@
+{% load i18n %}
+
 {% for res in elem_list %}
-	<option value="{{ res.id }}-{{ res.type }}" >{{ res.name }}</option>
+	<tr class="shareline">
+		<td class="firstcolsharetable">
+		{% if res.type == "user" %}
+			<img src="{{LDT_MEDIA_PREFIX}}img/user.png" alt="{% trans "user" %}"/>
+		{% else %}
+			<img src="{{LDT_MEDIA_PREFIX}}img/group.png" alt={% trans "group" %}"/>		
+		{% endif %}
+		</td>
+		
+		<td class="seccolsharetable" >{{ res.name }}</td>
+		<td></td>
+		<input type="hidden" value="{{ res.id }}-{{ res.type }}"/>
+	</tr>
 {% endfor %}
\ No newline at end of file
Binary file src/ldt/ldt/locale/en/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/en/LC_MESSAGES/django.po	Fri Dec 23 11:18:24 2011 +0100
+++ b/src/ldt/ldt/locale/en/LC_MESSAGES/django.po	Fri Dec 23 16:08:16 2011 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-23 11:01+0100\n"
+"POT-Creation-Date: 2011-12-23 16:02+0100\n"
 "PO-Revision-Date: 2010-02-17 03:53+0100\n"
 "Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -289,7 +289,7 @@
 msgstr "Copy your project"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:17
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:77
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:70
 msgid "Title"
 msgstr "Title"
 
@@ -297,24 +297,24 @@
 msgid "Copy"
 msgstr "Copy"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:52
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:51
 msgid "Browse"
 msgstr "Browse"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:53
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:52
 msgid "File uploaded"
 msgstr "File uploaded"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:54
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:53
 msgid "Please wait, the upload is not finished yet"
 msgstr "Please wait, the upload is not finished yet"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:55
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:54
 #, fuzzy
 msgid "Cancel upload"
 msgstr "Cancel upload"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:74
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:73
 msgid ""
 "The operation could not be performed because one or more error(s) occurred."
 "<br />Please resubmit the media form after making the following changes:"
@@ -322,31 +322,31 @@
 "The operation could not be performed because one or more error(s) occurred."
 "<br />Please resubmit the media form after making the following changes:"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:84
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:83
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:54
 msgid "Create content"
 msgstr "Create content"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:102
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:101
 msgid "publish for everyone"
 msgstr "publish for everyone"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:133
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:132
 msgid "media file is being processed please wait."
 msgstr "media file is being processed please wait."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:137
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:136
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:137
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:122
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:115
 #: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:52
 msgid "close_cancel"
 msgstr "Close"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:138
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:137
 msgid "delete"
 msgstr "Approve delete"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:139
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:138
 msgid "write"
 msgstr "Write"
 
@@ -375,7 +375,7 @@
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:70
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:59
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:128
 #: .\templates\ldt\ldt_base.html.py:123
 msgid "search"
 msgstr "search"
@@ -385,27 +385,26 @@
 msgstr "select all"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:101
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:79
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:143
 msgid "select users"
 msgstr "select users"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:102
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:80
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:144
 msgid "remove users"
 msgstr "remove users"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:107
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:85
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:149
 msgid "Members list"
 msgstr "Members list"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:115
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:93
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:180
 msgid "remove all"
 msgstr "remove all"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:118
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:94
 msgid "Decide whether a user user can change this group"
 msgstr "Decide whether a user user can change this group"
 
@@ -430,39 +429,39 @@
 msgid "create_group"
 msgstr "Create a group"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:71
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:64
 msgid "Update your project"
 msgstr "Create your project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:71
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:64
 msgid "Create your project"
 msgstr "Create your project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:82
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:75
 #, fuzzy
 msgid "Description :"
 msgstr "description"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:87
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:80
 msgid "List of contents"
 msgstr "List of contents"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:101
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:94
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:3
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:3
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\publishedprojectslist.html.py:3
 msgid "name"
 msgstr "name"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:124
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:117
 msgid "delete_project"
 msgstr "delete project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:125
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:118
 msgid "update_project"
 msgstr "update project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:127
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:120
 msgid "create_project"
 msgstr "Create new project"
 
@@ -632,36 +631,45 @@
 msgid "Projects shared with me only"
 msgstr "Projects shared with me only"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:9
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:21
 #, fuzzy
 msgid "share this project"
 msgstr "Create new project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:10
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:22
 msgid "do not share"
 msgstr "do not share"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:47
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:86
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:170
+msgid "share.eye"
+msgstr "click to give to permission to edit this object"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:117
 msgid "share"
 msgstr "share with other users"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:58
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:127
 msgid "User and group list"
 msgstr "Users and groups list"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:74
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:138
 msgid "select all displayed elements"
 msgstr "select all displayed elements"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:94
-#, fuzzy
-msgid "can change"
-msgstr "Password change"
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:159
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\sharewith.html.py:7
+msgid "user"
+msgstr "user"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:95
-#, fuzzy
-msgid "can not change"
-msgstr "Password change"
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:161
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\sharewith.html.py:9
+msgid "group"
+msgstr "group"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:168
+msgid "share.pencil"
+msgstr "click to remove the right to edit this project"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:18
 msgid "copy project"
@@ -971,11 +979,11 @@
 msgid "page_title"
 msgstr "Ldt Platform"
 
-#: .\templates\ldt\ldt_raw_base.html.py:39
+#: .\templates\ldt\ldt_raw_base.html.py:18
 msgid "check all"
 msgstr "check all"
 
-#: .\templates\ldt\ldt_raw_base.html.py:40
+#: .\templates\ldt\ldt_raw_base.html.py:19
 msgid "uncheck all"
 msgstr "uncheck all"
 
@@ -1332,6 +1340,14 @@
 "address you submitted. You should be receiving it shortly."
 
 #, fuzzy
+#~ msgid "can change"
+#~ msgstr "Password change"
+
+#, fuzzy
+#~ msgid "can not change"
+#~ msgstr "Password change"
+
+#, fuzzy
 #~ msgid "Leave this group"
 #~ msgstr "Create a group"
 
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Fri Dec 23 11:18:24 2011 +0100
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Fri Dec 23 16:08:16 2011 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-23 11:01+0100\n"
+"POT-Creation-Date: 2011-12-23 15:59+0100\n"
 "PO-Revision-Date: 2010-03-09 15:52+0100\n"
 "Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -290,7 +290,7 @@
 msgstr "Copier votre projet"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:17
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:77
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:70
 msgid "Title"
 msgstr "Titre"
 
@@ -298,23 +298,23 @@
 msgid "Copy"
 msgstr "Copier"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:52
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:51
 msgid "Browse"
 msgstr "Parcourir"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:53
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:52
 msgid "File uploaded"
 msgstr "Fichier téléversé"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:54
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:53
 msgid "Please wait, the upload is not finished yet"
 msgstr "Veuillez patienter, le téléversement est en cours"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:55
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:54
 msgid "Cancel upload"
 msgstr "Annuler le téléversement"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:74
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:73
 msgid ""
 "The operation could not be performed because one or more error(s) occurred."
 "<br />Please resubmit the media form after making the following changes:"
@@ -322,31 +322,31 @@
 "opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
 "resoumettre le formulaire media après avoir fait les changements suivants:"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:84
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:83
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:54
 msgid "Create content"
 msgstr "Créer un contenu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:102
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:101
 msgid "publish for everyone"
 msgstr "publier pour tout le monde"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:133
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:132
 msgid "media file is being processed please wait."
 msgstr "Le fichier média est en cours de traitement. Veuillez patienter."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:137
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:136
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:137
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:122
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:115
 #: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:52
 msgid "close_cancel"
 msgstr "Fermer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:138
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:137
 msgid "delete"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:139
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:138
 msgid "write"
 msgstr "Enregistrer"
 
@@ -374,7 +374,7 @@
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:70
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:59
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:128
 #: .\templates\ldt\ldt_base.html.py:123
 msgid "search"
 msgstr "Recherche"
@@ -384,27 +384,26 @@
 msgstr "Tout choisir"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:101
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:79
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:143
 msgid "select users"
 msgstr "choisir des utilisateurs"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:102
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:80
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:144
 msgid "remove users"
 msgstr "enlever des utilisateurs"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:107
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:85
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:149
 msgid "Members list"
 msgstr "liste des membres"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:115
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:93
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:180
 msgid "remove all"
 msgstr "tout enlever"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:118
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:94
 msgid "Decide whether a user user can change this group"
 msgstr "Précise si cet utilisateur peut créer et modifier ce groupe."
 
@@ -428,38 +427,38 @@
 msgid "create_group"
 msgstr "Créer un nouveau groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:71
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:64
 msgid "Update your project"
 msgstr "Mettre à jour votre projet Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:71
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:64
 msgid "Create your project"
 msgstr "Créer votre projet Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:82
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:75
 msgid "Description :"
 msgstr "Description :"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:87
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:80
 msgid "List of contents"
 msgstr "Liste de contenus"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:101
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:94
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:3
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:3
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\publishedprojectslist.html.py:3
 msgid "name"
 msgstr "Nom"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:124
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:117
 msgid "delete_project"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:125
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:118
 msgid "update_project"
 msgstr "Mettre à jour"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:127
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:120
 msgid "create_project"
 msgstr "Créer un nouveau projet Ligne de Temps"
 
@@ -625,35 +624,43 @@
 msgid "Projects shared with me only"
 msgstr "Projets partagés avec moi uniquement"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:9
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:21
 msgid "share this project"
 msgstr "partager ce projet"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:10
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:22
 msgid "do not share"
 msgstr "ne pas partager"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:47
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:86
+msgid "share.eye"
+msgstr "cliquer pour donner le droit de changer cet élement."
+
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:117
 msgid "share"
 msgstr "partager avec d'autres utilisateurs"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:58
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:127
 msgid "User and group list"
 msgstr "Liste des groupes et des utilisateurs"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:74
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:138
 msgid "select all displayed elements"
 msgstr "choisir tous les élements affichés"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:94
-#, fuzzy
-msgid "can change"
-msgstr "Modification du mot de passe"
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:159
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\sharewith.html.py:7
+msgid "user"
+msgstr "utilisateur"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:95
-#, fuzzy
-msgid "can not change"
-msgstr "Modification du mot de passe"
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:161
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\sharewith.html.py:9
+msgid "group"
+msgstr "groupe"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:168
+msgid "share.pencil"
+msgstr "cliquer pour retirer le droit de changer sur cet élement."
 
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:18
 msgid "copy project"
@@ -962,11 +969,11 @@
 msgid "page_title"
 msgstr "Plateforme Ldt"
 
-#: .\templates\ldt\ldt_raw_base.html.py:39
+#: .\templates\ldt\ldt_raw_base.html.py:18
 msgid "check all"
 msgstr "Tout cocher"
 
-#: .\templates\ldt\ldt_raw_base.html.py:40
+#: .\templates\ldt\ldt_raw_base.html.py:19
 msgid "uncheck all"
 msgstr "Tout décocher"
 
@@ -1328,6 +1335,14 @@
 "Nous vous avons envoyé par courriel les instructions pour activer le compte "
 "à l'adresse que vous avez indiquée. Vous devriez le recevoir rapidement."
 
+#, fuzzy
+#~ msgid "can change"
+#~ msgstr "Modification du mot de passe"
+
+#, fuzzy
+#~ msgid "can not change"
+#~ msgstr "Modification du mot de passe"
+
 #~ msgid "Leave this group"
 #~ msgstr "Quitter ce groupe"
 
--- a/src/ldt/ldt/static/ldt/css/ldtform.css	Fri Dec 23 11:18:24 2011 +0100
+++ b/src/ldt/ldt/static/ldt/css/ldtform.css	Fri Dec 23 16:08:16 2011 +0100
@@ -192,3 +192,24 @@
 	font-weight: bold;
 	cursor: pointer;
 }
+
+
+.userorgroups .ui-selected {
+	background-color: #EDEDED;	
+}
+
+.tableuserorgroup {
+	max-height: 200px;
+	min-height: 200px;
+	overflow-x: hidden;
+	overflow-y: auto;	
+	width: 250px;
+}
+
+.firstcolsharetable {
+	width: 5%;
+}
+
+.seccolsharetable {
+	width: 95%;
+}
\ No newline at end of file
Binary file src/ldt/ldt/static/ldt/img/eye.png has changed
Binary file src/ldt/ldt/static/ldt/img/group.png has changed
Binary file src/ldt/ldt/static/ldt/img/pencil.png has changed
Binary file src/ldt/ldt/static/ldt/img/user.png has changed
--- a/src/ldt/ldt/static/ldt/js/multiselect.js	Fri Dec 23 11:18:24 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-function init_multi_select_events (first_list, sec_list, first_selection, sec_selection, search_input, search_url, first_list_name, second_list) {
-	
-	var first_list_name = "read_list";
-	var second_list_name = "write_list";
-	
-	$("#selectelems").click(function () {
-		var list = get_selected_elems(first_list);
-		move_elem(first_list, sec_list, list);
-		add_to_form(first_selection, list, first_list_name);
-	});
-
-	$("#removeelems").click(function () {
-		var list = get_selected_elems(sec_list);
-		move_elem(sec_list, first_list, list);
-		remove_from_form(first_selection, list);
-	});
-
-	$("#selectall").click(function () {
-		var list = get_all_options(first_list);
-		move_elem(first_list, sec_list, list);
-		add_to_form(first_selection, list, first_list_name);
-	});
-
-	$("#removeall").click(function () {
-		var elem_list = get_all_options(sec_list);
-		move_elem(sec_list, first_list, get_all_options(sec_list));
-		remove_from_form(first_selection, elem_list);
-		remove_from_form(sec_selection, elem_list);
-	});
-
-	$("#chooseaux").click(function () {
-		var elems = get_selected_elems(sec_list);
-		
-		for (var i=0; i < elems.length; i++) {
-			$("option[value=" + elems[i] + "]", sec_list).css('color', '#2181B1');
-			$(sec_selection).append("<input type=\"hidden\" name=\"" + second_list_name + "\" value=\"" + elems[i]+ "\" />");
-		}
-	});
-
-	$("#removeaux").click(function () {
-		var users = get_selected_elems(sec_list);
-		
-		for (var i=0; i < users.length; i++) {
-			$("option[value=" + users[i] + "]", sec_list).css('color', 'black');
-			$("input[value=" + users[i] + "]", sec_selection).remove();
-		}
-	});	
-	
-	$(document).ready(function () {
-		filter_elems(first_list, sec_list);
-		input_list_init = [
-			{'input_selector':search_input, 'container_selector': first_list, 'url':search_url}
-		];	           	
-		searchFieldInit(input_list_init);
-	});
-}
-
-function move_elem (from, to, elems) {
-	var selected = $("#sec_selection");		
-	for (var i=0; i < elems.length; i++) {
-		var option = $("option[value=" + elems[i] + "]", from);
-		option.css('color', 'black');
-		$("input[value=" + elems[i] + "]", selected).remove();
-		to.append(option);
-	}		
-}
-
-function get_selected_elems(list) {
-	var selected = Array();
-	$("option:selected", list).each(function (e) {
-		selected.push($(this).val());
-	});
-	return selected;
-}
-
-function remove_from_form(form, elem_list) {		
-	for (var i=0; i < elem_list.length; i++) {
-		$("input[value=" + elem_list[i] + "]", form).remove();
-	}
-}
-
-function add_to_form(form, elem_list, name) {		
-	for (var i=0; i < elem_list.length; i++) {
-		form.append("<input type=\"hidden\" name=\"" + name + "\" value=\"" + elem_list[i] + "\"/>");
-	}
-}
-
-function get_all_options (select) {
-	var all = Array();
-	$("option", select).each(function()	{
-		all.push($(this).val());
-	});
-	return all;
-}	
-
-function filter_elems(first_list, sec_list) {
-	var selected = get_all_options(sec_list);
-	
-	$("option", first_list).each(function () {
-		for (var i = 0; i < selected.length; i++) {
-			if (selected[i] == $(this).attr('value')) {
-				$(this).remove();
-			}
-		}		
-	});	
-}
\ No newline at end of file