branch develop updated (2698100 -> 533dc4f)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository coselmar. See http://git.codelutin.com/coselmar.git from 2698100 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new 20128c4 add some validation indicator in user and document form new 533dc4f just some code format on doucment form The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 533dc4f9db76aecd6480e87f4935c5be7ca804fd Author: Yannick Martel <martel@©odelutin.com> Date: Mon Dec 1 10:51:27 2014 +0100 just some code format on doucment form commit 20128c49143b7d320bc3f96d87e91feb19a1ccd3 Author: Yannick Martel <martel@©odelutin.com> Date: Mon Dec 1 10:50:56 2014 +0100 add some validation indicator in user and document form Summary of changes: coselmar-ui/pom.xml | 7 + coselmar-ui/src/main/webapp/index.html | 1 + .../src/main/webapp/js/coselmar-controllers.js | 65 +++-- coselmar-ui/src/main/webapp/version.txt | 2 +- .../main/webapp/views/documents/newdocument.html | 316 ++++++++++++--------- coselmar-ui/src/main/webapp/views/home.html | 4 +- .../src/main/webapp/views/users/edituser.html | 35 ++- coselmar-ui/src/main/webapp/views/users/users.html | 6 +- 8 files changed, 251 insertions(+), 185 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository coselmar. See http://git.codelutin.com/coselmar.git commit 20128c49143b7d320bc3f96d87e91feb19a1ccd3 Author: Yannick Martel <martel@©odelutin.com> Date: Mon Dec 1 10:50:56 2014 +0100 add some validation indicator in user and document form --- coselmar-ui/pom.xml | 7 +++ coselmar-ui/src/main/webapp/index.html | 1 + .../src/main/webapp/js/coselmar-controllers.js | 65 +++++++++++----------- coselmar-ui/src/main/webapp/version.txt | 2 +- .../main/webapp/views/documents/newdocument.html | 31 +++++++---- coselmar-ui/src/main/webapp/views/home.html | 4 +- .../src/main/webapp/views/users/edituser.html | 35 +++++++----- coselmar-ui/src/main/webapp/views/users/users.html | 6 +- 8 files changed, 90 insertions(+), 61 deletions(-) diff --git a/coselmar-ui/pom.xml b/coselmar-ui/pom.xml index b1b9b6e..3b21d3e 100644 --- a/coselmar-ui/pom.xml +++ b/coselmar-ui/pom.xml @@ -72,6 +72,13 @@ <version>2.1.1-1</version> <scope>runtime</scope> </dependency> + + <dependency> + <groupId>org.nuiton.js</groupId> + <artifactId>nuiton-js-font-awesome</artifactId> + <version>4.2.0-1</version> + <scope>runtime</scope> + </dependency> </dependencies> <build> diff --git a/coselmar-ui/src/main/webapp/index.html b/coselmar-ui/src/main/webapp/index.html index d277fe7..b3f9405 100644 --- a/coselmar-ui/src/main/webapp/index.html +++ b/coselmar-ui/src/main/webapp/index.html @@ -25,6 +25,7 @@ <head> <link rel="stylesheet" href="nuiton-js/bootstrap.css"> + <link rel="stylesheet" href="nuiton-js/font-awesome.css"> <link rel="stylesheet" href="css/coselmar.css"> <script src="nuiton-js/jquery.js"></script> <script src="nuiton-js/angular.js"></script> diff --git a/coselmar-ui/src/main/webapp/js/coselmar-controllers.js b/coselmar-ui/src/main/webapp/js/coselmar-controllers.js index 26040d2..c8eb358 100644 --- a/coselmar-ui/src/main/webapp/js/coselmar-controllers.js +++ b/coselmar-ui/src/main/webapp/js/coselmar-controllers.js @@ -100,18 +100,20 @@ coselmarControllers.controller("NewDocumentCtrl", ['$scope', '$location', 'docum $scope.document = {'privacy': 'PUBLIC'}; $scope.upload = {}; - $scope.createNewDocument = function(){ + $scope.createNewDocument = function(isValidForm){ // Call service to create a new document - documentService.createDocument( - $scope.document, $scope.upload.file, function() { - $location.path("/documents"); - - },function(error) { - //TODO ymartel 20141118 : deal with error.status or statusText - console.log("error occurs"); - console.log(error.s); + if (isValidForm) { + documentService.createDocument( + $scope.document, $scope.upload.file, function() { + $location.path("/documents"); + + },function(error) { + //TODO ymartel 20141118 : deal with error.status or statusText + console.log("error occurs"); + console.log(error.s); }); + } }; }]); @@ -200,19 +202,19 @@ coselmarControllers.controller("NewUserCtrl", ['$scope', '$route', '$location', $scope.user = {'role' : 'expert'}; - $scope.saveUser = function(){ + $scope.saveUser = function(isValidForm){ // Call service to create a new user - userService.saveUser($scope.user, function() { - $location.path("/users"); - },function(error) { - //TODO ymartel 20141118 : deal with error.status or statusText - console.log("error occurs"); - console.log(error.s); - }); + if(isValidForm) { + userService.saveUser($scope.user, function() { + $location.path("/users"); + },function(error) { + //TODO ymartel 20141118 : deal with error.status or statusText + console.log("error occurs"); + console.log(error.s); + }); + } - // Reload the page - $route.reload(); }; }]); @@ -240,20 +242,21 @@ coselmarControllers.controller("UserViewCtrl", $location.search("edit"); }; - $scope.saveUser = function(){ + $scope.saveUser = function(isValidForm){ // Call service to create a new user - userService.saveUser($scope.user, - function() { - // On success, reload the view page - $location.search(""); - - },function(error) { - //TODO ymartel 20141118 : deal with error.status or statusText - console.log("error occurs"); - console.log(error.s); - }); - + if(isValidForm) { + userService.saveUser($scope.user, + function() { + // On success, reload the view page + $location.search(""); + + },function(error) { + //TODO ymartel 20141118 : deal with error.status or statusText + console.log("error occurs"); + console.log(error.s); + }); + } }; } ]); \ No newline at end of file diff --git a/coselmar-ui/src/main/webapp/version.txt b/coselmar-ui/src/main/webapp/version.txt index 7dff5b8..3f82886 100644 --- a/coselmar-ui/src/main/webapp/version.txt +++ b/coselmar-ui/src/main/webapp/version.txt @@ -1 +1 @@ -0.2.1 \ No newline at end of file +0.3-SNAPSHOT \ No newline at end of file diff --git a/coselmar-ui/src/main/webapp/views/documents/newdocument.html b/coselmar-ui/src/main/webapp/views/documents/newdocument.html index f98ad7e..4ebb935 100644 --- a/coselmar-ui/src/main/webapp/views/documents/newdocument.html +++ b/coselmar-ui/src/main/webapp/views/documents/newdocument.html @@ -41,21 +41,23 @@ <div class=""> - <form class="form-horizontal" name="documentForm" role="form" ng-submit="createNewDocument()"> + <form class="form-horizontal" name="documentForm" role="form" ng-submit="createNewDocument(documentForm.$valid)"> - <div class="form-group"> - <label class="col-md-4 control-label">Name</label> + <div class="form-group" ng-class="{'has-error' : documentForm.name.$invalid && !documentForm.name.$pristine}"> + <label class="col-md-4 control-label">Name *</label> <div class="col-md-5"> <input type="text" class="form-control" name="name" ng-model="document.name" required/> + <p ng-show="documentForm.name.$invalid && !documentForm.name.$pristine" class="help-block">Document name is required.</p> </div> </div> - <div class="form-group"> - <label class="col-md-4 control-label">Type</label> + <div class="form-group" ng-class="{'has-error' : documentForm.type.$invalid && !documentForm.type.$pristine}"> + <label class="col-md-4 control-label">Type *</label> <div class="col-md-5"> <input type="text" class="form-control" name="type" ng-model="document.type" required/> + <p ng-show="documentForm.type.$invalid && !documentForm.type.$pristine" class="help-block">Document type is required.</p> </div> </div> @@ -67,7 +69,7 @@ </div> </div> - <div class="form-group" ng-if="document.withFile"> + <div class="form-group" ng-if="document.withFile" > <label class="col-md-4 control-label">File</label> <div class="col-md-5"> @@ -75,22 +77,24 @@ </div> </div> - <div class="form-group" ng-if="!document.withFile"> + <div class="form-group" ng-if="!document.withFile" ng-class="{'has-error' : documentForm.externalUrl.$invalid && !documentForm.externalUrl.$pristine}"> <label class="col-md-4 control-label">External URL</label> <div class="col-md-5"> <input type="input" class="form-control" name="externalUrl" ng-model="document.externalUrl" required /> + <p ng-show="documentForm.externalUrl.$invalid && !documentForm.externalUrl.$pristine" class="help-block">External URL is required if chosen.</p> </div> </div> - <div class="form-group"> + <div class="form-group" ng-class="{'has-error' : documentForm.keywords.$invalid && !documentForm.keywords.$pristine}"> <label class="col-md-4 control-label">keywords</label> <div class="col-md-5"> - <input type="text" class="form-control" name="keyword" + <input type="text" class="form-control" name="keywords" ng-model="document.keywords" ng-list required placeholder="keyword 1, keyword2" /> + <p ng-show="documentForm.keywords.$invalid && !documentForm.keywords.$pristine" class="help-block">At least one keyword is required.</p> </div> </div> @@ -119,19 +123,21 @@ </div> </div> - <div class="form-group"> + <div class="form-group" ng-class="{'has-error' : documentForm.authors.$invalid && !documentForm.authors.$pristine}"> <label class="col-md-4 control-label">Authors</label> <div class="col-md-5"> <input type="text" class="form-control" name="authors" ng-model="document.authors" required/> + <p ng-show="documentForm.authors.$invalid && !documentForm.authors.$pristine" class="help-block">Document authors is required.</p> </div> </div> - <div class="form-group"> + <div class="form-group" ng-class="{'has-error' : documentForm.copyright.$invalid && !documentForm.copyright.$pristine}"> <label class="col-md-4 control-label">Copyright</label> <div class="col-md-5"> <input type="text" class="form-control" name="copyright" ng-model="document.copyright" required/> + <p ng-show="documentForm.copyright.$invalid && !documentForm.copyright.$pristine" class="help-block">Copyright is required.</p> </div> </div> @@ -151,11 +157,12 @@ </div> </div> - <div class="form-group"> + <div class="form-group" ng-class="{'has-error' : documentForm.summary.$invalid && !documentForm.summary.$pristine}"> <label class="col-md-4 control-label">Summary</label> <div class="col-md-5"> <textarea type="text" class="form-control" name="summary" ng-model="document.summary" required /> + <p ng-show="documentForm.summary.$invalid && !documentForm.summary.$pristine" class="help-block">A summary is required.</p> </div> </div> diff --git a/coselmar-ui/src/main/webapp/views/home.html b/coselmar-ui/src/main/webapp/views/home.html index 2447252..8aac4d3 100644 --- a/coselmar-ui/src/main/webapp/views/home.html +++ b/coselmar-ui/src/main/webapp/views/home.html @@ -34,14 +34,14 @@ Actuellement, l'application permet de : <ul> <li>ajouter et consulter des documents ;</li> + <li>avoir une gestion d'utilisateurs suivant 5 profils : admin, responsable, expert, membre, client ;</li> + <li>limiter la visibilité d'un document.</li> </ul> À terme, elle permettra de : <ul> <li>déposer une demande d'expertise ;</li> <li>mettre en relation les experts scientifiques pour répondre à une demande ;</li> <li>apporter une réponse avec compte-rendu et documents à une demande d'expertise ;</li> - <li>avoir une gestion d'utilisateurs suivant 5 profils : admin, responsable, expert, membre, client ;</li> - <li>limiter la visibilité d'un document.</li> </ul> </p> </div> diff --git a/coselmar-ui/src/main/webapp/views/users/edituser.html b/coselmar-ui/src/main/webapp/views/users/edituser.html index 882d43e..a471184 100644 --- a/coselmar-ui/src/main/webapp/views/users/edituser.html +++ b/coselmar-ui/src/main/webapp/views/users/edituser.html @@ -23,31 +23,33 @@ --> <div class=""> - <form name="userForm" class="form-horizontal" role="form" ng-submit="saveUser()"> + <form name="userForm" class="form-horizontal" role="form" ng-submit="saveUser(userForm.$valid)"> - <div class="form-group"> - <label class="col-md-4 control-label">FirstName</label> + <div class="form-group" ng-class="{'has-error' : userForm.firstName.$invalid && !userForm.firstName.$pristine }"> + <label class="col-md-4 control-label">First Name *</label> <div class="col-md-5"> <input type="text" class="form-control" name="firstName" ng-model="user.firstName" required/> + <p ng-show="userForm.firstName.$invalid && !userForm.firstName.$pristine" class="help-block">First name is required.</p> </div> </div> - <div class="form-group"> - <label class="col-md-4 control-label">Name</label> + <div class="form-group" ng-class="{'has-error' : userForm.name.$invalid && !userForm.name.$pristine}"> + <label class="col-md-4 control-label">Name *</label> <div class="col-md-5"> <input type="text" class="form-control" name="name" ng-model="user.name" required/> + <p ng-show="userForm.name.$invalid && !userForm.name.$pristine" class="help-block">Name is required.</p> </div> </div> <div class="form-group" ng-if="currentUser.role == 'ADMIN'"> - <label class="col-md-4 control-label">Role</label> + <label class="col-md-4 control-label">Role *</label> <div class="col-md-5"> - <select class="form-control" name="role" ng-model="user.role"> + <select class="form-control" name="role" ng-model="user.role" required> <option value="ADMIN">Admin</option> <option value="SUPERVISOR">Supervisor</option> <option value="EXPERT">Expert</option> @@ -58,12 +60,13 @@ </div> - <div class="form-group"> - <label class="col-md-4 control-label">Mail</label> + <div class="form-group" ng-class="{'has-error' : userForm.mail.$invalid && !userForm.mail.$pristine}"> + <label class="col-md-4 control-label">Mail *</label> <div class="col-md-5"> - <input type="email" class="form-control" name="mail" - ng-model="user.mail" required/> + <input type="email" class="form-control" name="mail" + ng-model="user.mail" required/> + <p ng-show="userForm.mail.$invalid && !userForm.mail.$pristine" class="help-block">Enter a valid mail.</p> </div> </div> @@ -78,22 +81,26 @@ </div> - <div class="form-group"> - <label class="col-md-4 control-label">Qualification</label> + <div class="form-group" ng-class="{'has-error' : userForm.qualification.$invalid && !userForm.qualification.$pristine}"> + <label class="col-md-4 control-label">Qualification *</label> <div class="col-md-5"> <input type="text" class="form-control" name="qualification" ng-model="user.qualification" required/> + <p ng-show="userForm.qualification.$invalid && !userForm.qualification.$pristine" class="help-block">Qualification is required.</p> </div> </div> - <div class="form-group" ng-if="currentUser && currentUser.userId == user.id"> + <div class="form-group" ng-if="currentUser && currentUser.userId == user.id" + ng-class="{'has-error' : userForm.password.$invalid && !userForm.password.$pristine}"> + <label class="col-md-4 control-label">Tape your current password to validate</label> <div class="col-md-5"> <input type="password" class="form-control" name="password" ng-model="user.password" required/> + <p ng-show="userForm.password.$invalid && !userForm.password.$pristine" class="help-block">Password is required to validate modification.</p> </div> </div> diff --git a/coselmar-ui/src/main/webapp/views/users/users.html b/coselmar-ui/src/main/webapp/views/users/users.html index 7b059db..9646be8 100644 --- a/coselmar-ui/src/main/webapp/views/users/users.html +++ b/coselmar-ui/src/main/webapp/views/users/users.html @@ -67,7 +67,11 @@ <td>{{user.role}}</td> <td ng-if="user.active">Active</td> <td ng-if="!user.active">Deleted</td> - <td><a class="btn btn-warning" href="users/{{user.id}}?edit">Modify</a><a class="btn btn-danger" ng-click="deleteUser(user.id)">Delete</a></td> + <td> + <a class="btn btn-warning" href="#/users/{{user.id}}?edit">Modify</a> + <a class="btn btn-danger" ng-if="user.active" ng-click="deleteUser(user.id)">Disable</a> + <!--<a class="btn btn-primary" ng-if="!user.active" ng-click="enableUser(user.id)">Enable</a>--> + </td> </tr> </table> </div> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository coselmar. See http://git.codelutin.com/coselmar.git commit 533dc4f9db76aecd6480e87f4935c5be7ca804fd Author: Yannick Martel <martel@©odelutin.com> Date: Mon Dec 1 10:51:27 2014 +0100 just some code format on doucment form --- .../main/webapp/views/documents/newdocument.html | 335 ++++++++++++--------- 1 file changed, 186 insertions(+), 149 deletions(-) diff --git a/coselmar-ui/src/main/webapp/views/documents/newdocument.html b/coselmar-ui/src/main/webapp/views/documents/newdocument.html index 4ebb935..cb5803b 100644 --- a/coselmar-ui/src/main/webapp/views/documents/newdocument.html +++ b/coselmar-ui/src/main/webapp/views/documents/newdocument.html @@ -22,158 +22,195 @@ #L% --> <div style="padding: 0px 0px 0px 30px"> - <div class="page-header" style="margin: 0"> - <h2>New Document</h2> - </div> + <div class="page-header" style="margin: 0"> + <h2>New Document</h2> + </div> + + <div style="padding-top: 15px"> + <!-- Summary goes here --> + Here you can add a new document in the repository. For each document, + some keywords are needed to make easier search of the document, and you + can specify a privacy : + <ul> + <li>Public : all members can see the document</li> + <li>Private : only you can see the document</li> + <li>Restricted : you can specify who can see the document specifically + </li> + </ul> + </div> + <div style="padding-bottom: 50px"> + + <div class=""> + + <form class="form-horizontal" name="documentForm" role="form" + ng-submit="createNewDocument(documentForm.$valid)"> + + <div class="form-group" + ng-class="{'has-error' : documentForm.name.$invalid && !documentForm.name.$pristine}"> + <label class="col-md-4 control-label">Name *</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="name" + ng-model="document.name" required/> + + <p ng-show="documentForm.name.$invalid && !documentForm.name.$pristine" + class="help-block">Document name is required.</p> + </div> + </div> + + <div class="form-group" + ng-class="{'has-error' : documentForm.type.$invalid && !documentForm.type.$pristine}"> + <label class="col-md-4 control-label">Type *</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="type" + ng-model="document.type" required/> + + <p ng-show="documentForm.type.$invalid && !documentForm.type.$pristine" + class="help-block">Document type is required.</p> + </div> + </div> + + <div class="form-group"> + <label class="col-md-4 control-label">Attach File ?</label> + + <div class="col-md-5"> + <input type="checkbox" ng-model="document.withFile" + ng-init="document.withFile = false"/> + </div> + </div> + + <div class="form-group" ng-if="document.withFile"> + <label class="col-md-4 control-label">File</label> + + <div class="col-md-5"> + <input type="file" class="form-control" name="uploadFile" + ng-file-model="upload.file" required/> + </div> + </div> + + <div class="form-group" ng-if="!document.withFile" + ng-class="{'has-error' : documentForm.externalUrl.$invalid && !documentForm.externalUrl.$pristine}"> + <label class="col-md-4 control-label">External URL</label> + + <div class="col-md-5"> + <input type="input" class="form-control" name="externalUrl" + ng-model="document.externalUrl" required/> + + <p ng-show="documentForm.externalUrl.$invalid && !documentForm.externalUrl.$pristine" + class="help-block">External URL is required if chosen.</p> + </div> + </div> + + <div class="form-group" + ng-class="{'has-error' : documentForm.keywords.$invalid && !documentForm.keywords.$pristine}"> + <label class="col-md-4 control-label">keywords</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="keywords" + ng-model="document.keywords" ng-list required + placeholder="keyword 1, keyword2"/> + + <p ng-show="documentForm.keywords.$invalid && !documentForm.keywords.$pristine" + class="help-block">At least one keyword is required.</p> + </div> + </div> + + <div class="form-group"> + <label class="col-md-4 control-label">Privacy</label> + + <div class="col-md-5"> + <select class="form-control" name="privacy" + ng-model="document.privacy"> + <option value="PRIVATE">private</option> + <option value="PUBLIC">public</option> + <option value="RESTRICTED">restricted</option> + </select> + + <div ng-if="privacy == 'RESTRICTED'"> + Not Yet available + </div> + </div> - <div style="padding-top: 15px"> - <!-- Summary goes here --> - Here you can add a new document in the repository. For each document, - some keywords are needed to make easier search of the document, and you - can specify a privacy : - <ul> - <li>Public : all members can see the document</li> - <li>Private : only you can see the document</li> - <li>Restricted : you can specify who can see the document specifically</li> - </ul> - </div> - <div style="padding-bottom: 50px"> - - <div class=""> - - <form class="form-horizontal" name="documentForm" role="form" ng-submit="createNewDocument(documentForm.$valid)"> - - <div class="form-group" ng-class="{'has-error' : documentForm.name.$invalid && !documentForm.name.$pristine}"> - <label class="col-md-4 control-label">Name *</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="name" ng-model="document.name" required/> - <p ng-show="documentForm.name.$invalid && !documentForm.name.$pristine" class="help-block">Document name is required.</p> - </div> - </div> - - <div class="form-group" ng-class="{'has-error' : documentForm.type.$invalid && !documentForm.type.$pristine}"> - <label class="col-md-4 control-label">Type *</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="type" ng-model="document.type" required/> - <p ng-show="documentForm.type.$invalid && !documentForm.type.$pristine" class="help-block">Document type is required.</p> - </div> - </div> - - <div class="form-group"> - <label class="col-md-4 control-label">Attach File ?</label> - - <div class="col-md-5"> - <input type="checkbox" ng-model="document.withFile" ng-init="document.withFile = false" /> - </div> - </div> - - <div class="form-group" ng-if="document.withFile" > - <label class="col-md-4 control-label">File</label> - - <div class="col-md-5"> - <input type="file" class="form-control" name="uploadFile" ng-file-model="upload.file" required /> - </div> - </div> - - <div class="form-group" ng-if="!document.withFile" ng-class="{'has-error' : documentForm.externalUrl.$invalid && !documentForm.externalUrl.$pristine}"> - <label class="col-md-4 control-label">External URL</label> - - <div class="col-md-5"> - <input type="input" class="form-control" name="externalUrl" - ng-model="document.externalUrl" required /> - <p ng-show="documentForm.externalUrl.$invalid && !documentForm.externalUrl.$pristine" class="help-block">External URL is required if chosen.</p> - </div> - </div> - - <div class="form-group" ng-class="{'has-error' : documentForm.keywords.$invalid && !documentForm.keywords.$pristine}"> - <label class="col-md-4 control-label">keywords</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="keywords" - ng-model="document.keywords" ng-list required - placeholder="keyword 1, keyword2" /> - <p ng-show="documentForm.keywords.$invalid && !documentForm.keywords.$pristine" class="help-block">At least one keyword is required.</p> - </div> - </div> - - <div class="form-group"> - <label class="col-md-4 control-label">Privacy</label> - - <div class="col-md-5"> - <select class="form-control" name="privacy" ng-model="document.privacy"> - <option value="PRIVATE">private</option> - <option value="PUBLIC">public</option> - <option value="RESTRICTED">restricted</option> - </select> - <div ng-if="privacy == 'RESTRICTED'"> - Not Yet available - </div> - </div> - - </div> - - <div class="form-group"> - <label class="col-md-4 control-label">Publication date</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="publicationDate" ng-model="document.publicationDate" - datepicker-popup="dd/MM/yyyy" is-open="publicationDateOpened" ng-click="publicationDateOpened = true"/> - </div> - </div> - - <div class="form-group" ng-class="{'has-error' : documentForm.authors.$invalid && !documentForm.authors.$pristine}"> - <label class="col-md-4 control-label">Authors</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="authors" ng-model="document.authors" required/> - <p ng-show="documentForm.authors.$invalid && !documentForm.authors.$pristine" class="help-block">Document authors is required.</p> - </div> - </div> - - <div class="form-group" ng-class="{'has-error' : documentForm.copyright.$invalid && !documentForm.copyright.$pristine}"> - <label class="col-md-4 control-label">Copyright</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="copyright" ng-model="document.copyright" required/> - <p ng-show="documentForm.copyright.$invalid && !documentForm.copyright.$pristine" class="help-block">Copyright is required.</p> - </div> - </div> - - <div class="form-group"> - <label class="col-md-4 control-label">Licence</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="licence" ng-model="document.licence" /> - </div> - </div> - - <div class="form-group"> - <label class="col-md-4 control-label">Language</label> - - <div class="col-md-5"> - <input type="text" class="form-control" name="language" ng-model="document.language" /> - </div> - </div> - - <div class="form-group" ng-class="{'has-error' : documentForm.summary.$invalid && !documentForm.summary.$pristine}"> - <label class="col-md-4 control-label">Summary</label> - - <div class="col-md-5"> - <textarea type="text" class="form-control" name="summary" ng-model="document.summary" required /> - <p ng-show="documentForm.summary.$invalid && !documentForm.summary.$pristine" class="help-block">A summary is required.</p> - </div> - </div> - - <div class="form-group"> - <div style="padding-left: 200px"> - <input type="submit" value="Submit" class="btn btn-primary" ng-if="documentForm.$valid && privacy != 'RESTRICTED'"/> - </div> - </div> - </form> </div> + <div class="form-group"> + <label class="col-md-4 control-label">Publication date</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="publicationDate" + ng-model="document.publicationDate" + datepicker-popup="dd/MM/yyyy" is-open="publicationDateOpened" + ng-click="publicationDateOpened = true"/> + </div> + </div> + + <div class="form-group" + ng-class="{'has-error' : documentForm.authors.$invalid && !documentForm.authors.$pristine}"> + <label class="col-md-4 control-label">Authors</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="authors" + ng-model="document.authors" required/> + + <p ng-show="documentForm.authors.$invalid && !documentForm.authors.$pristine" + class="help-block">Document authors is required.</p> + </div> + </div> + + <div class="form-group" + ng-class="{'has-error' : documentForm.copyright.$invalid && !documentForm.copyright.$pristine}"> + <label class="col-md-4 control-label">Copyright</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="copyright" + ng-model="document.copyright" required/> + + <p ng-show="documentForm.copyright.$invalid && !documentForm.copyright.$pristine" + class="help-block">Copyright is required.</p> + </div> + </div> + + <div class="form-group"> + <label class="col-md-4 control-label">Licence</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="licence" + ng-model="document.licence"/> + </div> + </div> + + <div class="form-group"> + <label class="col-md-4 control-label">Language</label> + + <div class="col-md-5"> + <input type="text" class="form-control" name="language" + ng-model="document.language"/> + </div> + </div> + + <div class="form-group" + ng-class="{'has-error' : documentForm.summary.$invalid && !documentForm.summary.$pristine}"> + <label class="col-md-4 control-label">Summary</label> + + <div class="col-md-5"> + <textarea type="text" class="form-control" name="summary" + ng-model="document.summary" required/> + + <p ng-show="documentForm.summary.$invalid && !documentForm.summary.$pristine" + class="help-block">A summary is required.</p> + </div> + </div> + + <div class="form-group"> + <div style="padding-left: 200px"> + <input type="submit" value="Submit" class="btn btn-primary" + ng-if="documentForm.$valid && privacy != 'RESTRICTED'"/> + </div> + </div> + </form> </div> + </div> + </div> \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm