changeset 142:62dc9fb3a03e

Quitando cuentas BuiltIn
author Nelo@Guinea.neluz.int
date Mon, 01 Aug 2011 00:28:04 -0300
parents a5ff4de4a1d3
children 2dbb15f4510f
files Agendas/trunk/src/Agendas.Domain/Patrocinador.cs Agendas/trunk/src/Agendas.Domain/Persona.cs Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Agendas/trunk/src/Agendas.Web/Controllers/AccountController.cs Agendas/trunk/src/Agendas.Web/Controllers/PerfilController.cs Agendas/trunk/src/Agendas.Web/Models/AccountModels.cs Agendas/trunk/src/Agendas.Web/Services/AccountMembershipService.cs Agendas/trunk/src/Agendas.Web/Services/IMembershipService.cs Agendas/trunk/src/Agendas.Web/Views/Account/ChangePassword.cshtml Agendas/trunk/src/Agendas.Web/Views/Account/ChangePasswordSuccess.cshtml Agendas/trunk/src/Agendas.Web/Views/Account/LogOn.cshtml Agendas/trunk/src/Agendas.Web/Views/Account/Register.cshtml Agendas/trunk/src/Agendas.Web/Views/Perfil/AddBuiltInAccount.cshtml Agendas/trunk/src/Agendas.Web/Views/Perfil/Index.cshtml Agendas/trunk/src/Agendas.Web/Web.config
diffstat 16 files changed, 28 insertions(+), 551 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs	Mon Aug 01 00:28:04 2011 -0300
@@ -1,7 +1,5 @@
 using System.Drawing;
 using System.IO;
-using System.Linq;
-using System.IO;
 
 namespace AltNetHispano.Agendas.Domain
 {
--- a/Agendas/trunk/src/Agendas.Domain/Persona.cs	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Persona.cs	Mon Aug 01 00:28:04 2011 -0300
@@ -55,7 +55,7 @@
 
 	public enum IdentityProviderEnum
 	{
-		BuiltIn = 1,
+        Google = 1,
 		Twitter = 2
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs	Mon Aug 01 00:28:04 2011 -0300
@@ -37,10 +37,10 @@
 		}
 
 		[Test]
-		public void IdentificacionBuiltIn()
+		public void IdentificacionGoogle()
 		{
-			var builtIn = new Identification(Identification.Map[(int) IdentityProviderEnum.BuiltIn] + "nelo");
-			Assert.AreEqual(IdentityProviderEnum.BuiltIn, builtIn.IdentityProvider);
+            var builtIn = new Identification(Identification.Map[(int)IdentityProviderEnum.Google] + "nelo");
+            Assert.AreEqual(IdentityProviderEnum.Google, builtIn.IdentityProvider);
 			Assert.AreEqual("nelo", builtIn.LogonName);
 		}
 
--- a/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj	Mon Aug 01 00:28:04 2011 -0300
@@ -76,17 +76,14 @@
     <Compile Include="CustomModelMetadataProvider\IResolverByConvention.cs" />
     <Compile Include="CustomModelMetadataProvider\ResolverThroughResource.cs" />
     <Compile Include="IdentityHelper.cs" />
-    <Compile Include="Models\AccountModels.cs" />
     <Compile Include="Models\EventoModel.cs" />
     <Compile Include="Models\EventoModelHelper.cs" />
     <Compile Include="Models\HistoricoModel.cs" />
     <Compile Include="Models\PerfilModel.cs" />
     <Compile Include="Models\PropuestaModel.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Services\AccountMembershipService.cs" />
     <Compile Include="Services\FormsAuthenticationService.cs" />
     <Compile Include="Services\IFormsAuthenticationService.cs" />
-    <Compile Include="Services\IMembershipService.cs" />
   </ItemGroup>
   <ItemGroup>
     <Content Include="Content\AltNetHispanoVans.css" />
@@ -143,10 +140,7 @@
     <Content Include="Scripts\MicrosoftMvcValidation.js" />
     <Content Include="Scripts\MicrosoftMvcValidation.debug.js" />
     <Content Include="Views\_ViewStart.cshtml" />
-    <Content Include="Views\Account\ChangePassword.cshtml" />
-    <Content Include="Views\Account\ChangePasswordSuccess.cshtml" />
     <Content Include="Views\Account\LogOn.cshtml" />
-    <Content Include="Views\Account\Register.cshtml" />
     <Content Include="Views\Home\About.cshtml" />
     <Content Include="Views\Home\Index.cshtml" />
     <Content Include="Views\Shared\Error.cshtml" />
@@ -199,9 +193,6 @@
     <Content Include="Views\Perfil\Index.cshtml" />
   </ItemGroup>
   <ItemGroup>
-    <Content Include="Views\Perfil\AddBuiltInAccount.cshtml" />
-  </ItemGroup>
-  <ItemGroup>
     <Content Include="Views\Shared\_Messages.cshtml" />
   </ItemGroup>
   <ItemGroup>
--- a/Agendas/trunk/src/Agendas.Web/Controllers/AccountController.cs	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/AccountController.cs	Mon Aug 01 00:28:04 2011 -0300
@@ -13,48 +13,19 @@
     {
 
         public IFormsAuthenticationService FormsService { get; set; }
-        public IMembershipService MembershipService { get; set; }
 
         protected override void Initialize(RequestContext requestContext)
         {
             if (FormsService == null) { FormsService = new FormsAuthenticationService(); }
-            if (MembershipService == null) { MembershipService = new AccountMembershipService(); }
 
             base.Initialize(requestContext);
         }
 
-        // **************************************
-        // URL: /Account/LogOn
-        // **************************************
-
         public ActionResult LogOn()
         {
             return View();
         }
 
-        [HttpPost]
-        public ActionResult LogOn(LogOnModel model, string returnUrl)
-        {
-            if (ModelState.IsValid)
-            {
-				if (MembershipService.ValidateUser(model.UserName, model.Password))
-				{
-					var personaService = AgendaFactory.GetPersonaService();
-					if (personaService.Validate(IdentityProviderEnum.BuiltIn, model.UserName))
-					{
-						FormsService.SignIn(Identification.Map[(int)IdentityProviderEnum.BuiltIn] + model.UserName, model.RememberMe);
-						if (Url.IsLocalUrl(returnUrl))
-							return Redirect(returnUrl);
-						return RedirectToAction("Index", "Home");
-					}
-				}
-            	ModelState.AddModelError("", "The user name or password provided is incorrect.");
-            }
-
-            // If we got this far, something failed, redisplay form
-            return View(model);
-        }
-
 		public ActionResult TwitterLogOn()
 		{
 			var oAuth = new OAuthTwitter();
@@ -86,94 +57,10 @@
 			return RedirectToAction("LogOn");
 		}
 
-    	// **************************************
-        // URL: /Account/LogOff
-        // **************************************
-
         public ActionResult LogOff()
         {
             FormsService.SignOut();
-
             return RedirectToAction("Index", "Home");
         }
-
-        // **************************************
-        // URL: /Account/Register
-        // **************************************
-
-        public ActionResult Register()
-        {
-            ViewBag.PasswordLength = MembershipService.MinPasswordLength;
-            return View();
-        }
-
-        [HttpPost]
-        public ActionResult Register(RegisterModel model, string returnUrl)
-        {
-            if (ModelState.IsValid)
-            {
-                // Attempt to register the user
-                MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
-
-                if (createStatus == MembershipCreateStatus.Success)
-                {
-					var personaService = AgendaFactory.GetPersonaService();
-					if (personaService.CreateIfNotExist(IdentityProviderEnum.BuiltIn, model.UserName, model.Nombre))
-					{
-						FormsService.SignIn(Identification.Map[(int)IdentityProviderEnum.BuiltIn] + model.UserName, false);
-						if (Url.IsLocalUrl(returnUrl))
-							return Redirect(returnUrl); 
-						return RedirectToAction("Index", "Home");
-					}
-                }
-                ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
-            }
-
-            // If we got this far, something failed, redisplay form
-            ViewBag.PasswordLength = MembershipService.MinPasswordLength;
-            return View(model);
-        }
-
-        // **************************************
-        // URL: /Account/ChangePassword
-        // **************************************
-
-        [Authorize]
-        public ActionResult ChangePassword()
-        {
-            ViewBag.PasswordLength = MembershipService.MinPasswordLength;
-            return View();
-        }
-
-        [Authorize]
-        [HttpPost]
-        public ActionResult ChangePassword(ChangePasswordModel model)
-        {
-            if (ModelState.IsValid)
-            {
-                if (MembershipService.ChangePassword(User.Identity.Name, model.OldPassword, model.NewPassword))
-                {
-                    return RedirectToAction("ChangePasswordSuccess");
-                }
-                else
-                {
-                    ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");
-                }
-            }
-
-            // If we got this far, something failed, redisplay form
-            ViewBag.PasswordLength = MembershipService.MinPasswordLength;
-            return View(model);
-        }
-
-        // **************************************
-        // URL: /Account/ChangePasswordSuccess
-        // **************************************
-
-        public ActionResult ChangePasswordSuccess()
-        {
-            return View();
-        }
-
     }
 }
--- a/Agendas/trunk/src/Agendas.Web/Controllers/PerfilController.cs	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/PerfilController.cs	Mon Aug 01 00:28:04 2011 -0300
@@ -1,31 +1,15 @@
 using System;
 using System.Linq;
 using System.Web.Mvc;
-using System.Web.Routing;
 using AltNetHispano.Agendas.Domain;
 using AltNetHispano.Agendas.Factories;
 using AltNetHispano.Agendas.Twitter;
 using AltNetHispano.Agendas.Web.Models;
-using AltNetHispano.Agendas.Web.Services;
 
 namespace AltNetHispano.Agendas.Web.Controllers
 {
     public class PerfilController : Controller
     {
-		public IMembershipService MembershipService { get; set; }
-
-		protected override void Initialize(RequestContext requestContext)
-		{
-			//if (FormsService == null) { FormsService = new FormsAuthenticationService(); }
-			if (MembershipService == null)
-				MembershipService = new AccountMembershipService();
-
-			base.Initialize(requestContext);
-		}
-
-		//
-        // GET: /Perfil/
-
         public ActionResult Index()
         {
         	var persona = IdentityContext.GetUsuario();
@@ -48,7 +32,12 @@
         	return View(model);
         }
 
-		public ActionResult AddTwitterAccount()
+        public ActionResult AddGoogleAccount()
+        {
+            throw new NotImplementedException();
+        }
+
+        public ActionResult AddTwitterAccount()
 		{
 			var oAuth = new OAuthTwitter();
 
@@ -74,29 +63,6 @@
 			return RedirectToAction("Index");
 		}
 
-		public ActionResult AddBuiltInAccount()
-		{
-			return View();
-		}
-
-		[HttpPost]
-		public ActionResult AddBuiltInAccount(LogOnModel model)
-		{
-			if (ModelState.IsValid)
-			{
-				if (MembershipService.ValidateUser(model.UserName, model.Password))
-				{
-					var personaService = AgendaFactory.GetPersonaService();
-					personaService.AddCuenta(IdentityProviderEnum.BuiltIn, model.UserName);
-					return RedirectToAction("Index");
-				}
-				ModelState.AddModelError("", "The user name or password provided is incorrect.");
-			}
-
-			// If we got this far, something failed, redisplay form
-			return View(model);
-		}
-
 		public ActionResult Remove(string identityProvider, string username)
 		{
 			var personaService = AgendaFactory.GetPersonaService();
--- a/Agendas/trunk/src/Agendas.Web/Models/AccountModels.cs	Mon Aug 01 00:10:20 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Globalization;
-using System.Web.Mvc;
-using System.Web.Security;
-
-namespace AltNetHispano.Agendas.Web.Models
-{
-
-    #region Models
-
-    public class ChangePasswordModel
-    {
-        [Required]
-        [DataType(DataType.Password)]
-        [Display(Name = "Current password")]
-        public string OldPassword { get; set; }
-
-        [Required]
-        [ValidatePasswordLength]
-        [DataType(DataType.Password)]
-        [Display(Name = "New password")]
-        public string NewPassword { get; set; }
-
-        [DataType(DataType.Password)]
-        [Display(Name = "Confirm new password")]
-        [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
-        public string ConfirmPassword { get; set; }
-    }
-
-    public class LogOnModel
-    {
-        [Required]
-        [Display(Name = "User name")]
-        public string UserName { get; set; }
-
-        [Required]
-        [DataType(DataType.Password)]
-        [Display(Name = "Password")]
-        public string Password { get; set; }
-
-        [Display(Name = "Remember me?")]
-        public bool RememberMe { get; set; }
-    }
-
-
-    public class RegisterModel
-    {
-		[Required]
-		public string Nombre { get; set; }
-		
-		[Required]
-        [Display(Name = "User name")]
-        public string UserName { get; set; }
-
-        [Required]
-        [DataType(DataType.EmailAddress)]
-        [Display(Name = "Email address")]
-        public string Email { get; set; }
-
-        [Required]
-        [ValidatePasswordLength]
-        [DataType(DataType.Password)]
-        [Display(Name = "Password")]
-        public string Password { get; set; }
-
-        [DataType(DataType.Password)]
-        [Display(Name = "Confirm password")]
-        [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
-        public string ConfirmPassword { get; set; }
-    }
-    #endregion
-
-	#region Validation
-    public static class AccountValidation
-    {
-        public static string ErrorCodeToString(MembershipCreateStatus createStatus)
-        {
-            // See http://go.microsoft.com/fwlink/?LinkID=177550 for
-            // a full list of status codes.
-            switch (createStatus)
-            {
-                case MembershipCreateStatus.DuplicateUserName:
-                    return "Username already exists. Please enter a different user name.";
-
-                case MembershipCreateStatus.DuplicateEmail:
-                    return "A username for that e-mail address already exists. Please enter a different e-mail address.";
-
-                case MembershipCreateStatus.InvalidPassword:
-                    return "The password provided is invalid. Please enter a valid password value.";
-
-                case MembershipCreateStatus.InvalidEmail:
-                    return "The e-mail address provided is invalid. Please check the value and try again.";
-
-                case MembershipCreateStatus.InvalidAnswer:
-                    return "The password retrieval answer provided is invalid. Please check the value and try again.";
-
-                case MembershipCreateStatus.InvalidQuestion:
-                    return "The password retrieval question provided is invalid. Please check the value and try again.";
-
-                case MembershipCreateStatus.InvalidUserName:
-                    return "The user name provided is invalid. Please check the value and try again.";
-
-                case MembershipCreateStatus.ProviderError:
-                    return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
-
-                case MembershipCreateStatus.UserRejected:
-                    return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
-
-                default:
-                    return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
-            }
-        }
-    }
-
-    [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
-    public sealed class ValidatePasswordLengthAttribute : ValidationAttribute, IClientValidatable
-    {
-        private const string _defaultErrorMessage = "'{0}' must be at least {1} characters long.";
-        private readonly int _minCharacters = Membership.Provider.MinRequiredPasswordLength;
-
-        public ValidatePasswordLengthAttribute()
-            : base(_defaultErrorMessage)
-        {
-        }
-
-        public override string FormatErrorMessage(string name)
-        {
-            return String.Format(CultureInfo.CurrentCulture, ErrorMessageString,
-                name, _minCharacters);
-        }
-
-        public override bool IsValid(object value)
-        {
-            string valueAsString = value as string;
-            return (valueAsString != null && valueAsString.Length >= _minCharacters);
-        }
-
-        public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
-        {
-            return new[]{
-                new ModelClientValidationStringLengthRule(FormatErrorMessage(metadata.GetDisplayName()), _minCharacters, int.MaxValue)
-            };
-        }
-    }
-    #endregion
-}
--- a/Agendas/trunk/src/Agendas.Web/Services/AccountMembershipService.cs	Mon Aug 01 00:10:20 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-using System;
-using System.Web.Security;
-
-namespace AltNetHispano.Agendas.Web.Services
-{
-	public class AccountMembershipService : IMembershipService
-	{
-		private readonly MembershipProvider _provider;
-
-		public AccountMembershipService()
-			: this(null)
-		{
-		}
-
-		public AccountMembershipService(MembershipProvider provider)
-		{
-			_provider = provider ?? Membership.Provider;
-		}
-
-		public int MinPasswordLength
-		{
-			get
-			{
-				return _provider.MinRequiredPasswordLength;
-			}
-		}
-
-		public bool ValidateUser(string userName, string password)
-		{
-			if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
-			if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");
-
-			return _provider.ValidateUser(userName, password);
-		}
-
-		public MembershipCreateStatus CreateUser(string userName, string password, string email)
-		{
-			if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
-			if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");
-			if (String.IsNullOrEmpty(email)) throw new ArgumentException("Value cannot be null or empty.", "email");
-
-			MembershipCreateStatus status;
-			_provider.CreateUser(userName, password, email, null, null, true, null, out status);
-			return status;
-		}
-
-		public bool ChangePassword(string userName, string oldPassword, string newPassword)
-		{
-			if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
-			if (String.IsNullOrEmpty(oldPassword)) throw new ArgumentException("Value cannot be null or empty.", "oldPassword");
-			if (String.IsNullOrEmpty(newPassword)) throw new ArgumentException("Value cannot be null or empty.", "newPassword");
-
-			// The underlying ChangePassword() will throw an exception rather
-			// than return false in certain failure scenarios.
-			try
-			{
-				MembershipUser currentUser = _provider.GetUser(userName, true /* userIsOnline */);
-				return currentUser.ChangePassword(oldPassword, newPassword);
-			}
-			catch (ArgumentException)
-			{
-				return false;
-			}
-			catch (MembershipPasswordException)
-			{
-				return false;
-			}
-		}
-	}
-}
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Web/Services/IMembershipService.cs	Mon Aug 01 00:10:20 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-using System.Web.Security;
-
-namespace AltNetHispano.Agendas.Web.Services
-{
-	public interface IMembershipService
-	{
-		int MinPasswordLength { get; }
-
-		bool ValidateUser(string userName, string password);
-		MembershipCreateStatus CreateUser(string userName, string password, string email);
-		bool ChangePassword(string userName, string oldPassword, string newPassword);
-	}
-}
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Web/Views/Account/ChangePassword.cshtml	Mon Aug 01 00:10:20 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-@model AltNetHispano.Agendas.Web.Models.ChangePasswordModel
-<h2>Change Password</h2>
-<p>
-    Use the form below to change your password. 
-</p>
-<p>
-    New passwords are required to be a minimum of @ViewBag.PasswordLength characters in length.
-</p>
-
-<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
-<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
-
-@using (Html.BeginForm()) {
-    @Html.ValidationSummary(true, "Password change was unsuccessful. Please correct the errors and try again.")
-    <div>
-        <fieldset>
-            <legend>Account Information</legend>
-
-            <div class="editor-label">
-                @Html.LabelFor(m => m.OldPassword)
-            </div>
-            <div class="editor-field">
-                @Html.PasswordFor(m => m.OldPassword)
-                @Html.ValidationMessageFor(m => m.OldPassword)
-            </div>
-
-            <div class="editor-label">
-                @Html.LabelFor(m => m.NewPassword)
-            </div>
-            <div class="editor-field">
-                @Html.PasswordFor(m => m.NewPassword)
-                @Html.ValidationMessageFor(m => m.NewPassword)
-            </div>
-
-            <div class="editor-label">
-                @Html.LabelFor(m => m.ConfirmPassword)
-            </div>
-            <div class="editor-field">
-                @Html.PasswordFor(m => m.ConfirmPassword)
-                @Html.ValidationMessageFor(m => m.ConfirmPassword)
-            </div>
-
-            <p>
-                <input type="submit" value="Change Password" />
-            </p>
-        </fieldset>
-    </div>
-}
--- a/Agendas/trunk/src/Agendas.Web/Views/Account/ChangePasswordSuccess.cshtml	Mon Aug 01 00:10:20 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<h2>Change Password</h2>
-<p>
-    Your password has been changed successfully.
-</p>
--- a/Agendas/trunk/src/Agendas.Web/Views/Account/LogOn.cshtml	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Views/Account/LogOn.cshtml	Mon Aug 01 00:28:04 2011 -0300
@@ -1,44 +1,20 @@
-@model AltNetHispano.Agendas.Web.Models.LogOnModel
-<h2>Log On</h2>
+<h2>Log On</h2>
 <p>
-    Please enter your username and password. @Html.ActionLink("Register", "Register") if you don't have an account.
+    Seleccione el proveedor con que quiere demostrar su identidad
 </p>
 
 <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
 <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
 
-@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
-
-@using (Html.BeginForm()) {
-    <div>
-        <fieldset>
-            <legend>Account Information</legend>
-
-            <div class="editor-label">
-                @Html.LabelFor(m => m.UserName)
-            </div>
-            <div class="editor-field">
-                @Html.TextBoxFor(m => m.UserName)
-                @Html.ValidationMessageFor(m => m.UserName)
-            </div>
-
-            <div class="editor-label">
-                @Html.LabelFor(m => m.Password)
-            </div>
-            <div class="editor-field">
-                @Html.PasswordFor(m => m.Password)
-                @Html.ValidationMessageFor(m => m.Password)
-            </div>
-
-            <div class="editor-label">
-                @Html.CheckBoxFor(m => m.RememberMe)
-                @Html.LabelFor(m => m.RememberMe)
-            </div>
-
-            <p>
-                <input type="submit" value="Log On" />
-            </p>
-        </fieldset>
-    </div>
-}
-<a href="@Url.Action("TwitterLogOn")"><img src="@Url.Content("~/Content/twitter/sign-in-with-twitter-d.png")" alt="Sign in with twitter" /></a>
+<div>
+    <fieldset>
+        <legend>Proveedores de identidad habilitados</legend>
+        <br />
+        <table border="0">
+            <tr>
+                <td><a href="@Url.Action("TwitterLogOn")"><img src="@Url.Content("~/Content/twitter/sign-in-with-twitter-d.png")" alt="Sign in with twitter" /></a></td>
+                <td>Identifíquese utilizando su cuenta de twitter</td>
+            </tr>
+        </table>
+    </fieldset>
+</div>
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Web/Views/Account/Register.cshtml	Mon Aug 01 00:10:20 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@model AltNetHispano.Agendas.Web.Models.RegisterModel
-<h2>Create a New Account</h2>
-<p>
-    Use the form below to create a new account. 
-</p>
-<p>
-    Passwords are required to be a minimum of @ViewBag.PasswordLength characters in length.
-</p>
-
-<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
-<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
-
-@using (Html.BeginForm()) {
-    @Html.ValidationSummary(true, "Account creation was unsuccessful. Please correct the errors and try again.")
-    @Html.EditorForModel()
-    <p>
-        <input type="submit" value="Register" />
-    </p>
-}
--- a/Agendas/trunk/src/Agendas.Web/Views/Perfil/AddBuiltInAccount.cshtml	Mon Aug 01 00:10:20 2011 -0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-@model AltNetHispano.Agendas.Web.Models.LogOnModel
-<h2>Perfil</h2>
-<p>
-    Hola estas son tus cuentas registradas
-</p>
-@Html.ValidationSummary(true, "La validación no fue exitosa, por favor intente de nuevo")
-
-@using (Html.BeginForm()) {
-    <div>
-        <fieldset>
-            <legend>Información de la cuenta interna</legend>
-
-            <div class="editor-label">
-                @Html.LabelFor(m => m.UserName)
-            </div>
-            <div class="editor-field">
-                @Html.TextBoxFor(m => m.UserName)
-                @Html.ValidationMessageFor(m => m.UserName)
-            </div>
-
-            <div class="editor-label">
-                @Html.LabelFor(m => m.Password)
-            </div>
-            <div class="editor-field">
-                @Html.PasswordFor(m => m.Password)
-                @Html.ValidationMessageFor(m => m.Password)
-            </div>
-
-            <p>
-                <input type="submit" value="Validar" />
-            </p>
-        </fieldset>
-    </div>
-}
-
-<p>
-@Html.ActionLink("Volver", "Index")
-</p>
--- a/Agendas/trunk/src/Agendas.Web/Views/Perfil/Index.cshtml	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Views/Perfil/Index.cshtml	Mon Aug 01 00:28:04 2011 -0300
@@ -27,8 +27,8 @@
 
 <p>
 @Html.ActionLink("Asociar cuenta de Twitter", "AddTwitterAccount")
-<br/>
-@Html.ActionLink("Asociar cuenta de interna", "AddBuiltInAccount")
+<!--
 <br/>
-@Html.ActionLink("Crear cuenta interna asociada", "Register", "Account", new { returnUrl = Url.Action("Index") }, null)
-</p>
+@Html.ActionLink("Asociar cuenta de Google", "AddGoogleAccount")
+-->
+<br/>
--- a/Agendas/trunk/src/Agendas.Web/Web.config	Mon Aug 01 00:10:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Web.config	Mon Aug 01 00:28:04 2011 -0300
@@ -6,7 +6,6 @@
 
 <configuration>
 	<connectionStrings>
-		<add name="ApplicationServices" connectionString="Data Source=.\sqlexpress;Initial Catalog=AltNetHispano;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
 		<add name="AltNetHispano" connectionString="Data Source=.\sqlexpress;Initial Catalog=AltNetHispano;Integrated Security=SSPI"/>
 	</connectionStrings>