Skip to content

Commit

Permalink
Created Students & Admins New Views (#91)
Browse files Browse the repository at this point in the history
Add totalCredits & currentCredits to Transcript
  • Loading branch information
MatiasMercado committed Feb 4, 2017
1 parent 7dcb383 commit da2ad37
Show file tree
Hide file tree
Showing 11 changed files with 634 additions and 2 deletions.
12 changes: 12 additions & 0 deletions app/scripts/controllers/admins/AdminsNewCtrl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

define(['paw'], function(paw) {
paw.controller('AdminsNewCtrl', ['$window', function($window) {
this.new = function() {
// Make API call
};
this.cancel = function() {
$window.history.back();
};
}]);
});
12 changes: 12 additions & 0 deletions app/scripts/controllers/students/StudentsNewCtrl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

define(['paw'], function(paw) {
paw.controller('StudentsNewCtrl', ['$window', function($window) {
this.new = function() {
// Make API call
};
this.cancel = function() {
$window.history.back();
};
}]);
});
8 changes: 8 additions & 0 deletions app/scripts/i18n/translations.es.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ define([], function() {
// Tables common headers
i18nActions: 'Acciones',

// New
i18nStudentsNewButton: 'Agregar Alumno',
i18nAdminsNewButton: 'Agregar Administrador',

// User Update
i18nRequiredFields: 'Campos Obligatorios',
i18nRequiredIcon: '*',
Expand Down Expand Up @@ -131,9 +135,13 @@ define([], function() {
i18nNoCoursesFound: 'No se encontraron materias disponibles',

// Form errors
i18nFormErrorDni: 'El DNI debe tener 8 dígitos.',
i18nNumericField: 'El valor ingresado debe ser un número válido.',
i18nFormErrorTelephone: 'El número de teléfono ingresado es inválido.',
i18nRequiredField: 'Este campo es requerido',
i18nLengthPrefix: 'Este campo debe tener entre',
i18nLengthAnd: 'y',
i18nLengthSuffix: 'caracteres.'

};
});
10 changes: 10 additions & 0 deletions app/scripts/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@ define([], function() {
controller: 'StudentsIndexCtrl',
relativePath: '/students'
},
'/students/new': {
templateUrl: 'views/students/new.html',
controller: 'StudentsNewCtrl',
relativePath: '/students'
},
'/admins/new': {
templateUrl: 'views/admins/new.html',
controller: 'AdminsNewCtrl',
relativePath: '/admins'
},
'/students/:docket': {
templateUrl: 'views/students/show.html',
controller: 'StudentsShowCtrl',
Expand Down
2 changes: 2 additions & 0 deletions app/styles/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,5 @@ $fa-font-path: '../bower_components/font-awesome/fonts';
@import 'partials/courses/edit';
@import 'partials/courses/new';
@import 'partials/students/final_inscriptions';
@import 'partials/students/new';
@import 'partials/admins/new';
32 changes: 32 additions & 0 deletions app/styles/partials/admins/_new.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@import 'modules/variables/importer';

.admins-new-container {
.data-container {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;

.data-item {
width: 230px;
padding: 5px;

.align-to-input-field {
display: flex;
justify-content: space-between;
align-items: center;
height: 35px;
}

.align-data-to-input-field {
height: 35px;
line-height: 35px;
}
}
}

.user-address-data {
padding-top: 15px;
border-top: 1px solid $gallery;
}
}
32 changes: 32 additions & 0 deletions app/styles/partials/students/_new.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@import 'modules/variables/importer';

.students-new-container {
.data-container {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;

.data-item {
width: 230px;
padding: 5px;

.align-to-input-field {
display: flex;
justify-content: space-between;
align-items: center;
height: 35px;
}

.align-data-to-input-field {
height: 35px;
line-height: 35px;
}
}
}

.user-address-data {
padding-top: 15px;
border-top: 1px solid $gallery;
}
}
250 changes: 250 additions & 0 deletions app/views/admins/new.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
<div ng-controller='AdminsNewCtrl as controller' class='admins-new-container'>
<!-- Page Heading -->
<div class='page-header break-words'>
<h1 class='inline'>
<span translate='i18nAdminsPanelSection'></span>
</h1>
<h2 class='inline'>
<span> - </span>
<small translate='i18nAddAdmin'></small>
</h2>
</div>
<!-- /Page Heading -->

<!-- Content -->
<div class='required-fields'>
<span translate='i18nRequiredFields'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</div>
<form name='form' novalidate class='data-container'>
<!-- User Data -->
<div class='data-container'>
<!-- dni -->
<div class='data-item'>
<label for='dni'>
<span translate='i18nDni'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='dni' id='dni' class='form-input-field' ng-model='controller.admin.dni' required ng-pattern="'^[1-9][0-9]{7}$'"/>
<div ng-messages='form.dni.$error' ng-show='form.dni.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message='pattern'>
<p translate='i18nFormErrorDni'></p>
</div>
</div>
</div>

<!-- firstName and lastName -->
<div class='data-item'>
<label for='firstName'>
<span translate='i18nFirstName'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='firstName' id='firstName' class='form-input-field' ng-model='controller.admin.firstName' required ng-minlength='2' ng-maxlength='50'/>
<div ng-messages='form.firstName.$error' ng-show='form.firstName.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message-exp="['minlength', 'maxlength']">
<span translate='i18nLengthPrefix'></span>
<span> 2 </span>
<span translate='i18nLengthAnd'></span>
<span> 50 </span>
<span translate='i18nLengthSuffix'></span>
</div>
</div>
</div>
<div class='data-item'>
<label for='lastName'>
<span translate='i18nLastName'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='lastName' id='lastName' class='form-input-field' ng-model='controller.admin.lastName' required ng-minlength='2' ng-maxlength='50'/>
<div ng-messages='form.lastName.$error' ng-show='form.lastName.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message-exp="['minlength', 'maxlength']">
<span translate='i18nLengthPrefix'></span>
<span> 2 </span>
<span translate='i18nLengthAnd'></span>
<span> 50 </span>
<span translate='i18nLengthSuffix'></span>
</div>
</div>
</div>
<!-- /firstName and lastName -->

<!-- birthday and genre -->
<div class='data-item'>
<label for='birthday'>
<span translate='i18nBirthday'/>
</label>
<input type='date' name='birthday' id='birthday' class='form-input-field' ng-model='controller.admin.birthday' placeholder="{{ 'i18nBirthdayPlaceholder' | translate}}"/>
</div>
<div class='data-item'>
<label translate='i18nGenre'/>
<div class='align-to-input-field'>
<label class='radio-inline'>
<input type='radio' name='genre' ng-model='controller.admin.genre' value="{{'i18nMale' | translate }}"/> <span translate='i18nMale'/>
</label>
<label class='radio-inline'>
<input type='radio' name='genre' ng-model='controller.admin.genre' value="{{'i18nFemale' | translate }}"/> <span translate='i18nFemale'/>
</label>
</div>
</div>
<!-- /birthday and genre -->

<!-- telephone -->
<div class='data-item'>
<label for='telephone'>
<span translate='i18nTelephone'/>
</label>
<input type='text' name='telephone' id='telephone' class='form-input-field' ng-model='controller.admin.address.telephone' ng-pattern="'^[0-9]{1,15}$'"/>
<div ng-messages='form.telephone.$error' ng-show='form.telephone.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='pattern'>
<p translate='i18nFormErrorTelephone'></p>
</div>
</div>
</div>

<!-- /telephone -->
</div>
<!-- \User Data -->

<!-- User Address Data -->
<div class='data-container user-address-data'>
<!-- country and city -->
<div class='data-item'>
<label for='country'>
<span translate='i18nCountry'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='country' id='country' class='form-input-field' ng-model='controller.admin.address.country' required ng-minlength='2' ng-maxlength='50'/>
<div ng-messages='form.country.$error' ng-show='form.country.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message-exp="['minlength', 'maxlength']">
<span translate='i18nLengthPrefix'></span>
<span> 2 </span>
<span translate='i18nLengthAnd'></span>
<span> 50 </span>
<span translate='i18nLengthSuffix'></span>
</div>
</div>
</div>
<div class='data-item'>
<label for='city'>
<span translate='i18nCity'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='city' id='city' class='form-input-field' ng-model='controller.admin.address.city' required ng-minlength='2' ng-maxlength='50'/>
<div ng-messages='form.city.$error' ng-show='form.city.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message-exp="['minlength', 'maxlength']">
<span translate='i18nLengthPrefix'></span>
<span> 2 </span>
<span translate='i18nLengthAnd'></span>
<span> 50 </span>
<span translate='i18nLengthSuffix'></span>
</div>
</div>
</div>
<!-- /country and city -->

<!-- neighborhood and street -->
<div class='data-item'>
<label for='neighborhood'>
<span translate='i18nNeighborhood'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='neighborhood' id='neighborhood' class='form-input-field' ng-model='controller.admin.address.neighborhood' required ng-minlength='2' ng-maxlength='50'/>
<div ng-messages='form.neighborhood.$error' ng-show='form.neighborhood.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message-exp="['minlength', 'maxlength']">
<span translate='i18nLengthPrefix'></span>
<span> 2 </span>
<span translate='i18nLengthAnd'></span>
<span> 50 </span>
<span translate='i18nLengthSuffix'></span>
</div>
</div>
</div>
<div class='data-item'>
<label for='street'>
<span translate='i18nStreet'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='street' id='street' class='form-input-field' ng-model='controller.admin.address.street' required ng-minlength='2' ng-maxlength='50'/>
<div ng-messages='form.street.$error' ng-show='form.street.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message-exp="['minlength', 'maxlength']">
<span translate='i18nLengthPrefix'></span>
<span> 2 </span>
<span translate='i18nLengthAnd'></span>
<span> 50 </span>
<span translate='i18nLengthSuffix'></span>
</div>
</div>
</div>
<!-- /neighborhood and street -->

<!-- number and floor -->
<div class='data-item'>
<label for='number'>
<span translate='i18nNumber'/>
(<span class='text-danger' translate='i18nRequiredIcon'/>)
</label>
<input type='text' name='number' id='number' class='form-input-field' ng-model='controller.admin.address.number' required ng-pattern="'^[1-9][0-9]{0,15}$'"/>
<div ng-messages='form.number.$error' ng-show='form.number.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='required'>
<p translate='i18nRequiredField'></p>
</div>
<div ng-message='pattern'>
<p translate='i18nNumericField'></p>
</div>
</div>
</div>
<div class='data-item'>
<label for='floor' translate='i18nFloor'/>
<input type='text' name='floor' id='floor' class='form-input-field' ng-model='controller.admin.address.floor' ng-pattern="'^[1-9][0-9]{0,15}$'"/>
<div ng-messages='form.floor.$error' ng-show='form.floor.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='pattern'>
<p translate='i18nNumericField'></p>
</div>
</div>
</div>
<!-- /number and floor -->

<!-- door and zipcode -->
<div class='data-item'>
<label for='door' translate='i18nDoor'/>
<input type='text' id='door' class='form-input-field' ng-model='controller.admin.address.door'/>
</div>
<div class='data-item'>
<label for='zipCode' translate='i18nZipCode'/>
<input type='text' name='zipCode' id='zipCode' class='form-input-field' ng-model='controller.admin.address.zipCode' ng-pattern="'^[1-9][0-9]{0,15}$'"/>
<div ng-messages='form.zipCode.$error' ng-show='form.zipCode.$touched || form.$submitted' class='form-errors' role='alert'>
<div ng-message='pattern'>
<p translate='i18nNumericField'></p>
</div>
</div>
</div>
<!-- /door and zipcode -->
</div>
<!-- \User Address Data -->
<div class='buttons-container'>
<input type='submit' class='btn btn-action' ng-click='form.$valid && controller.new(controller.admin)' value="{{ 'i18nAdminsNewButton' | translate }}" />
<input type='button' class='btn btn-default' ng-click='controller.cancel()' value="{{ 'i18nButtonCancel' | translate }}" />
</div>
</form>
</div>
Loading

0 comments on commit da2ad37

Please sign in to comment.