changeset 238:b43dc14886e3

Quitando ponente principal de la UI
author nelopauselli
date Tue, 04 Oct 2011 21:59:40 -0300
parents 51faeabfb9d9
children 5cc1681d3789
files Agendas/trunk/db/v1.0/01 - Ponentes.sql Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Agendas/trunk/src/Agendas.Web/DataProviders.cs Agendas/trunk/src/Agendas.Web/Views/Shared/DefaultEditor.cshtml Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponente.cshtml Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponentes.cshtml
diffstat 6 files changed, 24 insertions(+), 71 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/db/v1.0/01 - Ponentes.sql	Tue Oct 04 21:30:55 2011 -0300
+++ b/Agendas/trunk/db/v1.0/01 - Ponentes.sql	Tue Oct 04 21:59:40 2011 -0300
@@ -11,3 +11,9 @@
 			constraint FK_Ponentes_Persona foreign key (elt) references Persona)
 end
 go
+
+insert into Ponentes (evento_key, elt)
+	select e.Id, e.Ponente 
+		from Evento e 
+		where e.Ponente is not null and e.Ponente not in (select p.elt from Ponentes p where p.evento_key = e.Id)
+go
--- a/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj	Tue Oct 04 21:30:55 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj	Tue Oct 04 21:59:40 2011 -0300
@@ -217,9 +217,6 @@
     <Content Include="Views\Persona\Index.cshtml" />
   </ItemGroup>
   <ItemGroup>
-    <Content Include="Views\Shared\EditorTemplates\Ponente.cshtml" />
-  </ItemGroup>
-  <ItemGroup>
     <Content Include="Views\Shared\EditorTemplates\DateTime.cshtml" />
   </ItemGroup>
   <ItemGroup>
--- a/Agendas/trunk/src/Agendas.Web/DataProviders.cs	Tue Oct 04 21:30:55 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/DataProviders.cs	Tue Oct 04 21:59:40 2011 -0300
@@ -16,20 +16,7 @@
                    select new SelectListItem {Text = t.TipoEventoStr, Value = t.TipoEvento.ToString()};
         }
 
-        public static IEnumerable<SelectListItem> GetPonentes(this HtmlHelper helper, Guid id)
-        {
-        	var lista = new List<SelectListItem> {new SelectListItem {Text = "[Ninguno]", Value = Guid.Empty.ToString()}};
-
-            var personaService = AgendaFactory.GetPersonaService();
-        	var personas = from p in personaService.GetAll()
-        	               orderby p.Nombre
-        	               select
-        	               	new SelectListItem {Text = p.Nombre, Value = p.Id.ToString(), Selected = p.Id.Equals(id)};
-
-        	return lista.Union(personas);
-        }
-
-		public static IEnumerable<SelectListItem> GetOtrosPonentes(this HtmlHelper helper, IEnumerable<Guid> ids)
+		public static IEnumerable<SelectListItem> GetPonentes(this HtmlHelper helper, IEnumerable<Guid> ids)
 		{
 			var personas = AgendaFactory.GetPersonaService();
 			if (ids == null || !ids.Any()) return new SelectListItem[] {};
@@ -40,7 +27,7 @@
 		}
 
 
-		public static IEnumerable<SelectListItem> GetOtrosPonentesExcepto(this HtmlHelper helper, IEnumerable<Guid> ids)
+		public static IEnumerable<SelectListItem> GetPonentesExcepto(this HtmlHelper helper, IEnumerable<Guid> ids)
 		{
 			var personas = AgendaFactory.GetPersonaService();
 
--- a/Agendas/trunk/src/Agendas.Web/Views/Shared/DefaultEditor.cshtml	Tue Oct 04 21:30:55 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Views/Shared/DefaultEditor.cshtml	Tue Oct 04 21:59:40 2011 -0300
@@ -12,7 +12,7 @@
 <script type="text/javascript">
 	$(document).ready(function () {
 		$("form:first").submit(function () {
-			$("#OtrosPonentes option").each(function () {
+			$("#Ponentes option").each(function () {
 				$(this).attr("selected", "selected");
 			});
 		});
--- a/Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponente.cshtml	Tue Oct 04 21:30:55 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-@model Guid
-<script type="text/javascript">
-	$(document).ready(function () {
-		$("#agregarPonente").subpanel({ success: recargar, url: '/PersonaApi/Nueva' });
-	});
-
-	function recargar(data) {
-		if (data.Succeful) {
-			// obtenemos el dropdown
-			var ponentes = $("#Ponente");
-
-			// agregamos el ponente
-			var opcion = $("<option></option>").attr("value", data.Id).html(data.Nombre).appendTo(ponentes);
-
-			// ordenamos los ponentes
-			var options = $("option", ponentes);
-
-			options.sort(function (a, b) {
-				if (a.text > b.text) return 1;
-				else if (a.text < b.text) return -1;
-				else return 0
-			})
-
-			ponentes.empty().append(options);
-
-			// seleccionamos el ponente que acabamos de agregar
-			ponentes.attr("value", data.Id);
-		}
-		else {
-			alert(data.Message);
-			return false;
-		}
-	}
-
-</script>
-@Html.DropDownList(string.Empty, Html.GetPonentes(Model), new { style = "vertical-align: top;" })
-<div id="agregarPonente" style="display: inline-block"></div>
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponentes.cshtml	Tue Oct 04 21:30:55 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponentes.cshtml	Tue Oct 04 21:59:40 2011 -0300
@@ -1,12 +1,12 @@
 @model IEnumerable<Guid>
 <script type="text/javascript">
 	$(document).ready(function () {
-		$("#agregarOtroPonente").subpanel({ success: add_new_otro_ponente, url: '/PersonaApi/Nueva' });
+		$("#agregarPonente").subpanel({ success: add_new_otro_ponente, url: '/PersonaApi/Nueva' });
 		$("#add").click(select_otro_ponente);
 		$("#remove").click(remove_otro_ponente);
 
-		var width = $("#posiblesOtrosPonentes").width();
-		$("#OtrosPonentes").width(width);
+		var width = $("#posiblesPonentes").width();
+		$("#@Html.ViewData.ModelMetadata.PropertyName").width(width);
 	});
 
 	function add_new_otro_ponente(data) {
@@ -22,26 +22,26 @@
 
 	function select_otro_ponente(event) {
 		event.preventDefault();
-		var personas = $("#posiblesOtrosPonentes");
+		var personas = $("#posiblesPonentes");
 		var current = $("option:selected", personas);
 		add_otro_ponente(current);
 	}
 
 	function add_otro_ponente(option) {
-		var OtrosPonentes = $("#OtrosPonentes");
-		option.appendTo(OtrosPonentes);
+		var Ponentes = $("#@Html.ViewData.ModelMetadata.PropertyName");
+		option.appendTo(Ponentes);
 	}
 
 	function remove_otro_ponente(event) {
 		event.preventDefault();
 
-		$("option:selected", $("#OtrosPonentes")).each(function () {
+		$("option:selected", $("#@Html.ViewData.ModelMetadata.PropertyName")).each(function () {
 			var current = $(this);
-			var posiblesOtrosPonentes = $("#posiblesOtrosPonentes");
-			current.appendTo(posiblesOtrosPonentes);
+			var posiblesPonentes = $("#posiblesPonentes");
+			current.appendTo(posiblesPonentes);
 
 			// ordenamos los ponentes
-			var options = $("option", posiblesOtrosPonentes);
+			var options = $("option", posiblesPonentes);
 
 			options.sort(function (a, b) {
 				if (a.text > b.text) return 1;
@@ -49,22 +49,22 @@
 				else return 0
 			});
 
-			posiblesOtrosPonentes.empty().append(options);
+			posiblesPonentes.empty().append(options);
 
-			posiblesOtrosPonentes.attr("value", current.val());
+			posiblesPonentes.attr("value", current.val());
 		});
 	}
 </script>
-@Html.ListBox(string.Empty, Html.GetOtrosPonentes(Model), new { style = "vertical-align: top;" })
+@Html.ListBox(string.Empty, Html.GetPonentes(Model), new { style = "vertical-align: top;" })
 <div style="display: inline-block">
 	<div>
 		<a class="ajax-button ui-state-default ui-corner-all" id="add"><span class="ui-icon ui-icon-triangle-1-w"></span></a>
-		@Html.DropDownList("posiblesOtrosPonentes", Html.GetOtrosPonentesExcepto(Model), new { style = "vertical-align: top;", id = "posiblesOtrosPonentes" })
+		@Html.DropDownList("posiblesPonentes", Html.GetPonentesExcepto(Model), new { style = "vertical-align: top;", id = "posiblesPonentes" })
 	</div>
 	<div>
 		<a class="ajax-button ui-state-default ui-corner-all" id="remove"><span class="ui-icon ui-icon-triangle-1-e"></span></a>
 	</div>
 	<div>
-		<div id="agregarOtroPonente"></div>
+		<div id="agregarPonente"></div>
 	</div>
 </div>
\ No newline at end of file