Merge pull request #362 from Connoropolous/forgetpass

Forgetpass
This commit is contained in:
Connor Turland 2014-09-26 22:35:41 -04:00
commit 474b577d07
9 changed files with 480 additions and 93 deletions

View file

@ -1498,7 +1498,7 @@ Metamaps.Realtime = {
});
$('body').click(self.close);
self.socket = io.connect('http://localhost:5001');
self.socket = io.connect('http://gentle-savannah-1303.herokuapp.com');
self.startActiveMap();
},
toggleBox: function (event) {
@ -3401,6 +3401,7 @@ Metamaps.Map.InfoBox = {
});
$('.yourMap .mapPermission').unbind().click(self.onPermissionClick);
},
createContributorList: function () {
var self = Metamaps.Map.InfoBox;
@ -3457,6 +3458,34 @@ Metamaps.Map.InfoBox = {
}
}; // end Metamaps.Map.InfoBox
/*
*
* Account Settings
*
*/
Metamaps.Account = {
init: function () {
var self = Metamaps.Account;
},
changeName: function(){
$('.accountName').hide();
$('.changeName').show();
},
showPass: function(){
$(".toHide").show();
$(".changePass").hide();
},
hidePass: function(){
$(".toHide").hide();
$(".changePass").show();
$('#current_password').val('');
$('#user_password').val('');
$('#user_password_confirmation').val('');
}
};
/*
*

View file

@ -51,6 +51,22 @@ img {
display: block;
text-indent: -9999px;
}
::-webkit-input-placeholder { /* WebKit browsers */
color: #BDBDBD;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #BDBDBD;
opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #BDBDBD;
opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
color: #BDBDBD;
}
html,
body,
.main,
@ -74,9 +90,60 @@ body,
/* forgot password fix */
.forgotPassword input[type="submit"] {
padding: 0 5px;
width: auto;
width: 300px;
color: #f5f5f5;
font-family: din-regular;
top: 118px;
position: absolute;
}
.new_user input[type="submit"] {
width: 96px;
padding: 0px;
font-family: din-regular;
text-transform: uppercase;
color: #f5f5f5;
margin-top:16px;
float: right;
}
.login input[type="submit"]{
width:84px;
margin-top: 16px;
font-family: din-regular;
text-transform: uppercase;
}
.edit_user input[type="submit"]{
width: 96px;
padding: 0px;
font-family: din-regular;
text-transform: uppercase;
color: #f5f5f5;
margin-top:16px;
float: right;
}
.edit_user .userImage {
width: 84px;
margin: 0 auto;
position: relative;
margin-top: 32px;
}
.edit_user .editPhoto {
display: none;
width: 40px;
height: 40px;
background-image: url(photo.png);
position: absolute;
top: 22px;
left: 22px;
cursor: pointer;
}
.edit_user .userImage:hover .editPhoto {
display: block;
}
html {
}
@ -181,6 +248,7 @@ input[type="submit"]:active {
.new_session,
.new_user,
.edit_user,
.login,
.forgotPassword {
display: block;
width: 300px;
@ -189,36 +257,159 @@ input[type="submit"]:active {
border-radius: 5px;
color: black;
box-shadow: 6px 6px 8px rgba(0, 0, 0, 0.4);
position:absolute;
top: 50%;
left:50%;
position:absolute;
margin-left: -166px;
}
.login{
width: 200px;
height: 308px;
box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.23), 0px 3px 3px rgba(0, 0, 0, 0.16);
margin-left:-100px;
margin-top:-158px;
font-family: din-medium;
font-size: 18px;
color: #424242;
}
.new_user{
height: 412px;
margin-left:-166px;
box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.23), 0px 3px 3px rgba(0, 0, 0, 0.16);
font-family: din-medium;
line-height: 18px;
text-transform: uppercase;
color:#424242;
margin-top: -222px;
}
.edit_user {
width: 300px;
margin-top: -282px;
margin-left: -166px;
box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.23), 0px 3px 3px rgba(0, 0, 0, 0.16);
text-transform: uppercase;
line-height: 18px;
font-family: din-medium;
color:#424242;
}
.toHide {
display:none;
}
.forgotPassword {
height: 134px;
font-family: din-medium;
color:#424242;
text-transform: uppercase;
box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.23), 0px 3px 3px rgba(0, 0, 0, 0.16);
margin-left: -166px;
margin-top: -83px;
line-height: 18px;
}
.edit_user label.firstFieldText {
padding-top: 8px;
}
.firstFieldText{
font-family: 'din-regular', helvetica, sans-serif;
font-size: 14px;
color:#424242;
padding-top:24px;
padding-bottom: 6px;
text-transform: none;
margin: 0px;
line-height: 14px
}
.fieldText {
font-family: din-regular;
font-size: 14px;
color:#424242;
padding-top:16px;
padding-bottom: 6px;
text-transform: none;
margin: 0px;
line-height: 14px;
}
.smallText{
font-family: din-regular;
font-size: 12px;
line-height: 12px;
color: #c04f4f;
margin-top: 8px;
text-transform: none;
}
.accountName {
font-size: 24px;
text-align: center;
font-family: 'din-medium', helvetica, sans-serif;
color:#424242;
margin-top: 24px;
text-transform: none;
}
.accountName:hover .nameEdit:after {
background:url(edit.png)no-repeat;
content:" ";
position:absolute;
width:25px;
height:25px;
margin:5px 0px 0px 5px;
}
.changeName {
display: none;
margin-top: 24px;
}
.changePass {
font-family: din-regular;
font-size: 14px;
line-height: 14px;
color: #4fb5c0;
padding-top: 16px;
float: left;
text-transform: none;
cursor: pointer;
}
.noChangePass {
font-family: din-regular;
font-size: 12px;
line-height: 12px;
color: #c04f4f;
padding-top: 16px;
float: left;
text-transform: none;
cursor: pointer;
}
.centerGreyForm input[type="text"],
.centerGreyForm input[type="email"],
.centerGreyForm input[type="password"] {
width: 250px;
width: 300px;
height: 32px;
font-size: 15px;
font-size: 14px;
direction: ltr;
-webkit-appearance: none;
appearance: none;
display: inline-block;
margin: 0;
padding: 0 8px;
margin: 0px 0px;
padding: 5px 0px 0px 9px;
background: #fff;
border: 1px solid #d9d9d9;
border-top: 1px solid #c0c0c0;
color: #424242 !important;
border: none;
outline:none;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-border-radius: 1px;
-moz-border-radius: 1px;
border-radius: 1px;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
font: -webkit-small-control;
color: initial;
letter-spacing: normal;
@ -227,17 +418,27 @@ input[type="submit"]:active {
text-indent: 0px;
text-shadow: none;
display: inline-block;
text-align: start;
font-family: 'din-regular', helvetica, sans-serif;
text-align: left;
}
.centerGreyForm input[type="text"]:hover,
.centerGreyForm input[type="email"]:hover,
.centerGreyForm input[type="password"]:hover {
border: 1px solid #b9b9b9;
border-top: 1px solid #a0a0a0;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
.login input[type="email"],
.login input[type="password"] {
width: 200px;
height:32px;
border-radius: 2px;
background-color:#ffffff;
color: #424242 !important;
font-family: din-medium;
font-size: 14px;
text-align: left;
padding: 5px 0px 0px 10px;
}
.login input[type="email"] {
margin-bottom:10px;
}
.new_topic {
/* start it off screen while it initializes the spinner, then it will be hidden with jquery */
top: -1000px;
@ -551,6 +752,7 @@ li.accountInvite span {
width:84px;
margin: 24px auto;
}
.accountInput {
margin: 0 35px 10px;
}
@ -567,8 +769,7 @@ li.accountInvite span {
margin: 0;
padding: 0 10px;
background: #fff;
border: 1px solid #d9d9d9;
border-top: 1px solid #c0c0c0;
border: none;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
@ -576,7 +777,7 @@ li.accountInvite span {
-moz-border-radius: 2px;
border-radius: 2px;
font: -webkit-small-control;
color: #BDBDBD;
color: #424242 !important;
letter-spacing: normal;
word-spacing: normal;
text-transform: none;
@ -585,35 +786,40 @@ li.accountInvite span {
text-align: start;
font-family: 'din-medium', helvetica, sans-serif;
}
.sidebarAccountBox input[type="email"]:hover,
.sidebarAccountBox input[type="password"]:hover {
border: 1px solid #b9b9b9;
border-top: 1px solid #a0a0a0;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.accountSubmit {
margin-left: 35px;
float:left;
}
.loginAnywhere .accountSubmit {
margin-left: 35px;
}
.accountRememberMe {
float:right;
}
.login .accountRememberMe {
margin-top: 10px;
}
.loginAnywhere .accountRememberMe {
margin-right: 35px;
}
#user_remember_me {
margin-top: 11px;
display:inline;
}
#user_remember_me,
label[for="user_remember_me"] {
float: left;
float: right;
font-size: 12px;
color: #424242;
}
.accountForgotPass {
margin: 8px 0 0 35px;
font-size: 12px;
}
.loginAnywhere .accountForgotPass {
margin: 8px 0 0 35px;
}
.login .accountForgotPass {
margin: 8px 0 0 0;
}
.accountForgotPass a {
color: #757575;
}
@ -2063,7 +2269,15 @@ float: left;
display: none;
}
/* collabCompass section */
.collabCompass {
position:fixed;
top:50%;
left:50%;
z-index: 4;
}
.collabCompass:hover p {
display: block;
}
@ -2104,4 +2318,4 @@ float: left;
background-position: 16px 8px;
-webkit-transform-origin: left center;
transform-origin: left center;
}
}

View file

@ -805,14 +805,4 @@ box-shadow: 0px 1px 1.5px rgba(0,0,0,0.12), 0 1px 1px rgba(0,0,0,0.24);
body a#barometer_tab:hover {
background-position: 0 -110px;
}
/* REALTIME */
.collabCompass {
position:fixed;
top:50%;
left:50%;
z-index: 4;
}
}

View file

@ -38,14 +38,18 @@
</div>
<div class="accountSubmit"><%= f.submit "SIGN IN" %></div>
<% if devise_mapping.rememberable? -%>
<div class="accountRememberMe"><%= f.check_box :remember_me %> <%= f.label :remember_me, "Stay signed in" %><div class="clearfloat"></div></div>
<div class="accountRememberMe">
<%= f.label :remember_me, "Stay signed in" %>
<%= f.check_box :remember_me %>
<div class="clearfloat"></div>
</div>
<% end -%>
<div class="clearfloat"></div>
<div class="accountForgotPass">
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<%= link_to "Forgot password?", new_password_path(resource_name),
:data => { :bypass => 'true'} %>
<% end -%>
</div>
<% end %>
<div class="accountForgotPass">
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<%= link_to "Forgot password?", new_password_path(resource_name),
:data => { :bypass => 'true'} %>
<% end -%>
</div>
<% end %>

View file

@ -6,15 +6,31 @@
<% content_for :title, @user.name + "'s Settings | Metamaps" %>
<div id="yield">
<%= formula_form_for @user, url: user_url do |form| %>
<%= form_for @user, url: user_url, :html =>{ :class => "edit_user centerGreyForm"} do |form| %>
<h3>Edit Account</h3>
<label for="user_image">Profile Picture</label>
<% if @user.image %><%= image_tag @user.image.url(:round), :size => "48x48" %><% end %>
<%= form.file_field :image %>
<%= form.input :name, label: "Name", class: "name" %>
<%= form.input :email, label: "Email", class: "email" %>
<%= form.input :password, label: "Password", class: "password", :autocomplete => :off %>
<div class="userImage">
<%= image_tag @user.image.url(:round), :size => "84x84" %>
<div class="editPhoto"></div>
</div>
<div class="accountName" onclick="Metamaps.Account.changeName()">
<div class="nameEdit"><%= @user.name %></div>
</div>
<div class="changeName"><%= form.label :name, "Name:", :class => "firstFieldText" %>
<%= form.email_field :name %></div>
<div><%= form.label :email, "Email:", :class => "firstFieldText" %>
<%= form.email_field :email %></div>
<div class="changePass" onclick="Metamaps.Account.showPass()">Change Password</div>
<div class="toHide">
<div>
<%= form.label :current_password, "Current Password:", :class => "firstFieldText" %>
<%= password_field_tag :current_password, params[:current_password] %>
</div>
<div><%= form.label :password, "New Password:", :class => "firstFieldText" %>
<%= form.password_field :password, :autocomplete => :off%></div>
<div><%= form.label :password_confirmation, "Confirm New Password:", :class => "firstFieldText" %>
<%= form.password_field :password_confirmation, :autocomplete => :off%></div>
<div class="noChangePass" onclick="Metamaps.Account.hidePass()">Oops, don't change password</div>
</div>
<%= form.submit "Update", class: "update" %>
<% end %>
</div>

View file

@ -6,10 +6,10 @@
<h3>FORGOT PASSWORD?</h3>
<div><%= f.label :email, "Enter Your Email:" %>
<div><%= f.label :email, "Enter your email:", :class => "firstFieldText" %>
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.submit "Send Reset Password Instructions" %></div>
<div><%= f.submit "Send Password Reset Instructions" %></div>
<% end %>
</div>

View file

@ -6,24 +6,24 @@
<h3>Sign Up</h3>
<div><%= f.label :name %>
<div><%= f.label :name, "Name:", :class => "firstFieldText" %>
<%= f.text_field :name, :autofocus => true %></div>
<div><%= f.label :email %>
<div><%= f.label :email, "Email:", :class => "fieldText" %>
<%= f.email_field :email %></div>
<div><%= f.label :password %>
<div><%= f.label :password, "Password:", :class => "fieldText" %>
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %>
<div><%= f.label :password_confirmation, "Password Confirmation:", :class => "fieldText" %>
<%= f.password_field :password_confirmation %></div>
<div><%= f.label "Access Code" %>
<div><%= f.label "Access Code:", :class => "fieldText" %>
<%= f.text_field :joinedwithcode %></div>
<div><%= f.submit "Sign up" %></div>
<div><%= f.submit "Sign up!" %></div>
<div><br />Don't have an access code?<br /><a href="/request" data-bypass="true">Request an Invite</a></div>
<div class = "smallText"><br />Don't have an access code?<br /><a href="/request" data-bypass="true">Request an Invite</a></div>
<% end %>
</div>

View file

@ -1,28 +1,32 @@
<% content_for :title, "Sign In | Metamaps" %>
<div id="yield">
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :method => :post, :class => "new_user centerGreyForm" }) do |f| %>
<h3>Sign in</h3>
<div><%= f.label :email %>
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.label :password %>
<%= f.password_field :password %></div>
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %><div class="clearfloat"></div></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :method => :post, :class => "centerGreyForm login" }) do |f| %>
<h3>SIGN IN</h3>
<br />
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<%= link_to "Forgot your password?", new_password_path(resource_name),
:data => { :bypass => 'true'} %><br />
<div class="accountImage"></div>
<div>
<%= f.email_field :email, :autofocus => true, :placeholder => "Email" %></div>
<div>
<%= f.password_field :password, :placeholder => "Password" %></div>
<div class="accountSubmit"><%= f.submit "Sign in" %></div>
<% if devise_mapping.rememberable? -%>
<div class="accountRememberMe">
<%= f.label :remember_me, "Stay signed in" %>
<%= f.check_box :remember_me %>
<div class="clearfloat"></div>
</div>
<% end -%>
<br />
<div>Don't have an account?<br /><a href="/request" data-bypass="true">Request an Invite</a></div>
<div class="clearfloat"></div>
<div class="accountForgotPass">
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<%= link_to "Forgot password?", new_password_path(resource_name),
:data => { :bypass => 'true'} %>
<% end -%>
</div>
<% end %>
</div>

130
diff.txt Normal file
View file

@ -0,0 +1,130 @@
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
index bb0edb6..bb56ab0 100644
--- a/app/assets/stylesheets/application.css
+++ b/app/assets/stylesheets/application.css
@@ -74,8 +74,9 @@ body,
/* forgot password fix */
.forgotPassword input[type="submit"] {
- padding: 0 5px;
- width: auto;
+ width: 300px;
+ color: #f5f5f5;
+ font-family: din-regular;
}
html {
@@ -189,36 +190,55 @@ input[type="submit"]:active {
border-radius: 5px;
color: black;
box-shadow: 6px 6px 8px rgba(0, 0, 0, 0.4);
+ position:absolute;
top: 50%;
left:50%;
- position:absolute;
- margin-left: -166px;
+
}
+
.forgotPassword {
height: 134px;
margin-top: -83px;
+ font-family: din-medium;
+ color:#424242;
+ text-transform: uppercase;
+ box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.23), 0px 3px 3px rgba(0, 0, 0, 0.16);
+ font-size: 17px;
+ margin-left: -166px;
+
+}
+
+.emailText {
+ font-family: din-regular;
+ font-size: 14px;
+ color:#424242;
+ padding-top:24px;
+ padding-bottom: 6px;
+ text-transform: none;
+ margin: 0px;
}
.centerGreyForm input[type="text"],
.centerGreyForm input[type="email"],
.centerGreyForm input[type="password"] {
- width: 250px;
+ width: 300px;
height: 32px;
font-size: 15px;
direction: ltr;
-webkit-appearance: none;
appearance: none;
display: inline-block;
- margin: 0;
- padding: 0 8px;
+ margin: 0px 0px 6px 0px;
+ padding: 10px 0px 0px 9px;
background: #fff;
+ color: #bdbdbd;
border: 1px solid #d9d9d9;
border-top: 1px solid #c0c0c0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
- -webkit-border-radius: 1px;
- -moz-border-radius: 1px;
- border-radius: 1px;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
font: -webkit-small-control;
color: initial;
letter-spacing: normal;
@@ -227,8 +247,10 @@ input[type="submit"]:active {
text-indent: 0px;
text-shadow: none;
display: inline-block;
- text-align: start;
+ font: din-medium;
+ text-align: left;
}
+
.centerGreyForm input[type="text"]:hover,
.centerGreyForm input[type="email"]:hover,
.centerGreyForm input[type="password"]:hover {
@@ -237,7 +259,9 @@ input[type="submit"]:active {
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ color: #424242;
}
+
.new_topic {
/* start it off screen while it initializes the spinner, then it will be hidden with jquery */
top: -1000px;
diff --git a/app/views/users/edit.html.erb b/app/views/users/edit.html.erb
index 738d5c6..70d6de7 100644
--- a/app/views/users/edit.html.erb
+++ b/app/views/users/edit.html.erb
@@ -17,4 +17,3 @@
<%= form.submit "Update", class: "update" %>
<% end %>
</div>
-
diff --git a/app/views/users/passwords/new.html.erb b/app/views/users/passwords/new.html.erb
index 88dddb4..3238a81 100644
--- a/app/views/users/passwords/new.html.erb
+++ b/app/views/users/passwords/new.html.erb
@@ -6,10 +6,10 @@
<h3>FORGOT PASSWORD?</h3>
- <div><%= f.label :email, "Enter Your Email:" %>
+ <div><%= f.label :email, "Enter your email:", :class => "emailText" %>
<%= f.email_field :email, :autofocus => true %></div>
- <div><%= f.submit "Send Reset Password Instructions" %></div>
+ <div><%= f.submit "Send Password Reset Instructions" %></div>
<% end %>
</div>