Subscriber portal dev environment ready
diff --git a/views/ngXosViews/subscriberPortal/src/app/view/login/login.css b/views/ngXosViews/subscriberPortal/src/app/view/login/login.css
new file mode 100644
index 0000000..f7d5f67
--- /dev/null
+++ b/views/ngXosViews/subscriberPortal/src/app/view/login/login.css
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+div#login {
+    background: url("/imgs/login.jpg") no-repeat center;
+    background-size: contain;
+    position: absolute;
+    top: 3%;
+    left: 5%;
+}
+
+div#login-wrapper {
+    text-align: center;
+}
+
+#login h2 {
+    margin: 1%;
+    color: rgb(115, 115, 115);
+    font-size: xx-large;
+    font-weight: lighter;
+    text-align: left;
+    position: absolute;
+    top: -140px;
+}
+
+div#login-form {
+    display: inline-block;
+}
+
+#login div.outline {
+    position: absolute;
+    border: 1px solid rgba(115, 115, 115, 0.7);
+    background-color: white;
+    opacity: .6;
+    top: -160px;
+    left: -25px;
+    width: 300px;
+    height: 245px;
+    border-radius: 1px;
+}
+
+div#login-form {
+    margin-left: 2.5%;
+    position: relative;
+    width: 255px;
+    margin-top: 33.5%;
+}
+
+#login-form form {
+    line-height: 250%;
+}
+
+#login-form input {
+    display: block;
+    height: 40px;
+    width: 230px;
+    font-size: 19px;
+    padding: 0 5px;
+    margin-bottom: 3.5%;
+    border-radius: 1px;
+    position: absolute;
+}
+#login-form input[type="text"] {
+    top: -90px;
+}
+#login-form input[type="password"] {
+    top: -35px;
+}
+
+#login-form input[type="text"],
+#login-form input[type="password"] {
+    border: 2px solid rgba(115, 115, 115, 0.7);
+    transition: border 0.1s;
+}
+#login-form input[type="text"]:focus,
+#login-form input[type="password"]:focus,
+#login-form input[type="button"]:focus {
+    outline: none;
+    border: solid 2px rgba(122, 188, 229, 0.5);
+}
+
+#login-form a {
+    text-decoration: none;
+}
+
+#login-form input[type="button"] {
+    top: 25px;
+    width: 245px;
+    height: 30px;
+    cursor: pointer;
+    letter-spacing: 0.02em;
+    font-size: 100%;
+    color: #3C3C3C;
+    background-color: lightgray;
+    transition: background-color 0.4s;
+}
+
+#login-form input[type="button"]:hover {
+    color: white;
+    background-color: rgb(122, 188, 229);
+}
+
+#login-form input.ng-invalid.ng-touched {
+    background-color: #CE5650;
+    color: white;
+}
diff --git a/views/ngXosViews/subscriberPortal/src/app/view/login/login.html b/views/ngXosViews/subscriberPortal/src/app/view/login/login.html
new file mode 100644
index 0000000..19c5940
--- /dev/null
+++ b/views/ngXosViews/subscriberPortal/src/app/view/login/login.html
@@ -0,0 +1,14 @@
+<!-- Login page partial html -->
+<div id="login" class="container">
+    <div id="login-wrapper">
+        <div id="login-form">
+            <div class="outline"></div>
+            <h2>Subscriber Portal</h2>
+            <form>
+                <input ng-model="email" type="text" placeholder="email" required>
+                <input ng-model="password" type="password" placeholder="password" required>
+                <input ng-click="login()" type="button" value="Log In">
+            </form>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/views/ngXosViews/subscriberPortal/src/app/view/login/login.js b/views/ngXosViews/subscriberPortal/src/app/view/login/login.js
new file mode 100644
index 0000000..eae16d5
--- /dev/null
+++ b/views/ngXosViews/subscriberPortal/src/app/view/login/login.js
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+    'use strict';
+    var urlSuffix = '/rs/login';
+
+    angular.module('cordLogin', [])
+        .controller('CordLoginCtrl',
+        ['$log', '$scope', '$resource', '$location', '$window',
+            function ($log, $scope, $resource, $location, $window) {
+                var LoginData, resource;
+                $scope.page.curr = 'login';
+
+                function getResource(email) {
+                    LoginData = $resource($scope.shared.url + urlSuffix + '/' + email);
+                    resource = LoginData.get({},
+                        function () {
+                            $location.url('/home');
+                            $window.location.href = $location.absUrl();
+                        });
+                }
+
+                $scope.login = function () {
+                    if ($scope.email && $scope.password) {
+                        getResource($scope.email);
+                        $scope.shared.login = $scope.email;
+                    }
+                };
+
+                $log.debug('Cord Login Ctrl has been created.');
+        }]);
+}());