Browse Source

Made profile pages case insensitive.

KrisVos130 9 years ago
parent
commit
65d29127bd
3 changed files with 25 additions and 17 deletions
  1. 10 5
      app/app.js
  2. 1 1
      app/templates/header.html
  3. 14 11
      app/templates/profile.html

+ 10 - 5
app/app.js

@@ -66,20 +66,25 @@ if (Meteor.isClient) {
         },
         },
         "rank": function() {
         "rank": function() {
             return Session.get("rank");
             return Session.get("rank");
+        },
+        loaded: function() {
+            return Session.get("loaded");
         }
         }
     });
     });
 
 
     Template.profile.onCreated(function() {
     Template.profile.onCreated(function() {
         var parts = location.href.split('/');
         var parts = location.href.split('/');
         var username = parts.pop();
         var username = parts.pop();
+        Session.set("loaded", false);
         Meteor.subscribe("userProfiles", function() {
         Meteor.subscribe("userProfiles", function() {
-            if (Meteor.users.find({"profile.username": username}).count() === 0) {
-                // Return to homepage
+            if (Meteor.users.find({"profile.usernameL": username.toLowerCase()}).count() === 0) {
+                window.location = "/";
             } else {
             } else {
-                var data = Meteor.users.find({"profile.username": username}).fetch()[0];
-                Session.set("username", username);
+                var data = Meteor.users.find({"profile.usernameL": username.toLowerCase()}).fetch()[0];
+                Session.set("username", data.profile.username);
                 Session.set("first_joined", data.createdAt);
                 Session.set("first_joined", data.createdAt);
                 Session.set("rank", data.profile.rank);
                 Session.set("rank", data.profile.rank);
+                Session.set("loaded", true);
             }
             }
         });
         });
     });
     });
@@ -741,7 +746,7 @@ if (Meteor.isServer) {
                 username = user.username;
                 username = user.username;
             }
             }
         }
         }
-        user.profile = {username: username, rank: "default"};
+        user.profile = {username: username, usernameL: username.toLowerCase(), rank: "default"};
         return user;
         return user;
     });
     });
 
 

+ 1 - 1
app/templates/header.html

@@ -30,7 +30,7 @@
                 <ul class="nav navbar-nav navbar-right">
                 <ul class="nav navbar-nav navbar-right">
                     <li class="dropdown">
                     <li class="dropdown">
                         {{#if currentUser}}
                         {{#if currentUser}}
-                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{currentUser.profile.name}} <span class="caret"></span></a>
+                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{currentUser.profile.username}} <span class="caret"></span></a>
                             <ul class="dropdown-menu">
                             <ul class="dropdown-menu">
                                 <li><a href="#" class="logout">Logout</a></li>
                                 <li><a href="#" class="logout">Logout</a></li>
                             </ul>
                             </ul>

+ 14 - 11
app/templates/profile.html

@@ -1,20 +1,23 @@
 <template name="profile">
 <template name="profile">
     {{> header}}
     {{> header}}
     <div class="landing row">
     <div class="landing row">
-        <h1 id="profile-name">{{username}}</h1>
+        {{#if loaded}}
+            <h1 id="profile-name">{{username}}</h1>
 
 
-        <div class="col-md-4 col-md-offset-4">
-            <div class="panel panel-primary">
-                <div class="panel-heading">{{username}}</div>
-                <div class="panel-body">
-                    <ul>
-                        <li class="user-stat"><b>Joined: </b>{{first_joined}}</li>
-                        <li class="user-stat"><b>Rank: </b>{{rank}}</li>
-                    </ul>
+            <div class="col-md-4 col-md-offset-4">
+                <div class="panel panel-primary">
+                    <div class="panel-heading">{{username}}</div>
+                    <div class="panel-body">
+                        <ul>
+                            <li class="user-stat"><b>Joined: </b>{{first_joined}}</li>
+                            <li class="user-stat"><b>Rank: </b>{{rank}}</li>
+                        </ul>
+                    </div>
                 </div>
                 </div>
             </div>
             </div>
-        </div>
-
+        {{else}}
+            {{> loading}}
+        {{/if}}
         <ul class="bg-bubbles">
         <ul class="bg-bubbles">
             <li></li>
             <li></li>
             <li></li>
             <li></li>