crea registro, modifica trabla de particpantes y algunas cosas mas en backend

This commit is contained in:
Germán Correa 2021-06-16 14:05:57 -03:00
parent 46c388ce15
commit 30aa37e7be
10 changed files with 186 additions and 217 deletions

View File

@ -1,62 +0,0 @@
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE Registro
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre VARCHAR(50) NOT NULL,
apellido VARCHAR(50) NOT NULL,
titulo VARCHAR(50),
afiliacion VARCHAR(50),
ciudad VARCHAR(50),
pais VARCHAR(50),
email VARCHAR(80) NOT NULL UNIQUE,
fechaLlegada DATE,
fechaPartida DATE,
financiacion BOOLEAN NOT NULL,
invitado BOOLEAN NOT NULL,
cartaInvitacion BOOLEAN NOT NULL,
roomingPref VARCHAR(50),
roommate VARCHAR(50),
fechaRegistro DATETIME NOT NULL
);
INSERT INTO "Registro" VALUES(1,'German','Correa','','','Montevideo','Uruguay','german.correa.balier@gmail.com','','',0,0,0,'
','German Correa','2017-12-18 18:05:28');
INSERT INTO "Registro" VALUES(2,'German','Correa','','','Montevideo','Uruguay','german.correa.basslier@gmail.com','','',1,1,1,'
','German Correa','2017-12-18 19:04:38');
INSERT INTO "Registro" VALUES(3,'German','Correa','','','Montevideo','Uruguay','gaaerman.correa.balier@gmail.com','','',0,0,1,'
','German Correa','2017-12-18 19:05:15');
INSERT INTO "Registro" VALUES(4,'German','Correa','','','Montevideo','Uruguay','aagerman.correa.balier@gmail.com','','',1,0,1,'
','German Correa','2017-12-18 19:06:34');
CREATE TABLE Speakers
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre VARCHAR(50) NOT NULL,
apellido VARCHAR(50) NOT NULL,
afiliacion VARCHAR(50) NOT NULL,
foto VARCHAR(200),
web VARCHAR(200),
confirmado BOOLEAN
);
INSERT INTO "Speakers" VALUES(1,'Jairo','Bochi','Universidad Católica de Chile','img/speakers/jariobochi.jpg','http://www.mat.uc.cl/~jairo.bochi/',1);
INSERT INTO "Speakers" VALUES(2,'Christian','Bonatti','Université de Bourgogne','img/speakers/cbonatti.jpg','http://bonatti.perso.math.cnrs.fr/',1);
INSERT INTO "Speakers" VALUES(3,'Keith','Burns','Northwestern University','img/speakers/kburns.jpg','http://www.math.northwestern.edu/~burns/',1);
INSERT INTO "Speakers" VALUES(4,'Yaiza','Canzani','University of North Carolina at Chapel Hill','img/speakers/ycanzani.jpg','http://canzani.web.unc.edu/',1);
INSERT INTO "Speakers" VALUES(5,'Gonzalo','Contreras','CIMAT, Guanajuato','img/speakers/gcontreras.jpg','http://www.cimat.mx/~gonzalo/',1);
INSERT INTO "Speakers" VALUES(6,'Adriana','da Luz','Universidad de la República','img/speakers/adaluz.jpg','',1);
INSERT INTO "Speakers" VALUES(7,'Colin','Guillarmou','Université Paris-Sud','img/speakers/cguillarmou.jpg','https://www.math.u-psud.fr/~guillarmou/',1);
INSERT INTO "Speakers" VALUES(8,'Ursula','Hamenstädt','Universität Bonn','img/speakers/uhamenstadt.jpg','http://www.math.uni-bonn.de/people/ursula/',1);
INSERT INTO "Speakers" VALUES(9,'Thomas','Koberda','University of Virginia','img/speakers/tkoberda.jpg','http://faculty.virginia.edu/Koberda/',1);
INSERT INTO "Speakers" VALUES(10,'Andrés','Koropecki','Universidade Federal Fluminense','img/speakers/akoropecki.jpg','http://www.professores.uff.br/koro/',1);
INSERT INTO "Speakers" VALUES(11,'François','Ledrappier','University of Notre Dame','img/speakers/fledrappier.jpg','http://math.nd.edu/people/faculty/francois-ledrappier/',1);
INSERT INTO "Speakers" VALUES(12,'Yash','Lodha','Cornell University','img/speakers/ylodha.jpg','http://www.math.cornell.edu/m/People/bynetid/yl763',1);
INSERT INTO "Speakers" VALUES(13,'Leonardo','Macarini','Universidade Federal do Rio de Janeiro','img/speakers/lmacarini.jpg','http://www.im.ufrj.br/visualizarDocente.php?idDepartamento=3&idDocente=28',1);
INSERT INTO "Speakers" VALUES(14,'Kathryn','Mann','Brown University','img/speakers/kmann.jpg','http://www.math.brown.edu/~mann/index.html',1);
INSERT INTO "Speakers" VALUES(15,'Andrés','Navas','Universidad de Santiago de Chile','img/speakers/anavas.jpg','http://www.mat.usach.cl/index.php/2012-12-19-12-50-19/academicos/75-andres-navas-flores',1);
INSERT INTO "Speakers" VALUES(16,'Jean-François','Quint','Université Bordeaux I','img/speakers/jfquint.jpg','https://www.math.u-bordeaux.fr/~jquint/',1);
INSERT INTO "Speakers" VALUES(17,'Andrés','Sambarino','Université Paris VI','img/speakers/asambarino.jpg','https://webusers.imj-prg.fr/~andres.sambarino/',1);
INSERT INTO "Speakers" VALUES(18,'Pablo','Shmerkin','Universidad Torcuato Di Tella','img/speakers/pshmerkin.jpg','http://www.utdt.edu/profesores/pshmerkin',1);
INSERT INTO "Speakers" VALUES(19,'Maxime','Wolff','Université Paris VI','img/speakers/mwolff.jpg','https://webusers.imj-prg.fr/~maxime.wolff/',1);
DELETE FROM sqlite_sequence;
INSERT INTO "sqlite_sequence" VALUES('Speakers',19);
INSERT INTO "sqlite_sequence" VALUES('Registro',4);
COMMIT;

Binary file not shown.

View File

@ -12,11 +12,8 @@
} }
public function insert($registro){ public function insert($registro){
$sql = 'INSERT INTO Registro (nombre,apellido,titulo,afiliacion,ciudad,' $sql = 'INSERT INTO Registro (nombre,apellido,titulo,afiliacion,ciudad,pais,email,emailzoom,fechaRegistro)'
.'pais,email,fechaLlegada,fechaPartida,' .' VALUES (:nombre,:apellido,:titulo,:afiliacion,:ciudad,:pais,:email,:emailzoom,:fechaRegistro);';
."cartaInvitacion,roomingPref,roommate,fechaRegistro)"
.' VALUES (:nombre,:apellido,:titulo,:afiliacion,:ciudad,:pais,:email,:fechaLlegada,'
.':fechaPartida,:cartaInvitacion,:roomingPref,:roommate,:fechaRegistro);';
$stmt = $this->pdo->prepare($sql); $stmt = $this->pdo->prepare($sql);
$stmt->execute([ $stmt->execute([
@ -27,13 +24,7 @@
':ciudad' => $registro['ciudad'], ':ciudad' => $registro['ciudad'],
':pais' => $registro['pais'], ':pais' => $registro['pais'],
':email' => $registro['email'], ':email' => $registro['email'],
':fechaLlegada' => $registro['bda'], ':emailzoom' => $registro['emailzoom'],
':fechaPartida' => $registro['eda'],
//':financiacion' => $registro['financiacion'],
//':invitado' => $registro['invited'],
':cartaInvitacion' => $registro['letterinvited'],
':roomingPref' => $registro['roomtype'],
':roommate' => $registro['roomate'],
':fechaRegistro' => $date = date('Y-m-d H:i:s'), ':fechaRegistro' => $date = date('Y-m-d H:i:s'),
]); ]);
return $this->pdo->lastInsertId(); return $this->pdo->lastInsertId();
@ -45,12 +36,7 @@
return $stmt->fetchAll(\PDO::FETCH_BOTH); return $stmt->fetchAll(\PDO::FETCH_BOTH);
} }
public function getSpeakers(){
$stmt = $this->pdo->prepare("SELECT * FROM Speakers");
$stmt -> execute();
return $stmt->fetchAll(\PDO::FETCH_BOTH);
}
public function findByMail($email){ public function findByMail($email){
$stmt = $this->pdo->prepare("SELECT * FROM Registro WHERE email=:email"); $stmt = $this->pdo->prepare("SELECT * FROM Registro WHERE email=:email");
$stmt->bindParam(":email",$email); $stmt->bindParam(":email",$email);

View File

@ -8,34 +8,7 @@ CREATE TABLE IF NOT EXISTS Registro
ciudad VARCHAR(50), ciudad VARCHAR(50),
pais VARCHAR(50), pais VARCHAR(50),
email VARCHAR(80) NOT NULL UNIQUE, email VARCHAR(80) NOT NULL UNIQUE,
fechaLlegada DATE, emailzoom VARCHAR(80) NOT NULL UNIQUE,
fechaPartida DATE,
/*financiacion BOOLEAN NOT NULL,*/
/*invitado BOOLEAN NOT NULL,*/
cartaInvitacion BOOLEAN NOT NULL,
roomingPref VARCHAR(50),
roommate VARCHAR(50),
fechaRegistro DATETIME NOT NULL fechaRegistro DATETIME NOT NULL
); );
CREATE TABLE IF NOT EXISTS Speakers
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre VARCHAR(50) NOT NULL,
apellido VARCHAR(50) NOT NULL,
afiliacion VARCHAR(50) NOT NULL,
foto VARCHAR(200),
web VARCHAR(200),
confirmado BOOLEAN
);
INSERT INTO Speakers(nombre,apellido,afiliacion,foto,web,confirmado)
VALUES('Alicia','Dickenstein','Universidad de Buenos Aires','img/speakers/adickenstein.jpg','http://mate.dm.uba.ar/~alidick/',1);
INSERT INTO Speakers(nombre,apellido,afiliacion,foto,web,confirmado)
VALUES('Antonio','Montalban','University of California','img/speakers/amontalban.jpg','https://math.berkeley.edu/~antonio/',1);
INSERT INTO Speakers(nombre,apellido,afiliacion,foto,web,confirmado)
VALUES('Jairo','Bochi','Pontificia Universidad Católica de Chile','img/speakers/jbochi.jpg','http://www.mat.uc.cl/~jairo.bochi/',1);
INSERT INTO Speakers(nombre,apellido,afiliacion,foto,web,confirmado)
VALUES('Milton','Jara','Instituto de Matemática Pura e Aplicada','img/speakers/mjara.jpg','https://impa.br/page-pessoas/milton-jara/',1);
INSERT INTO Speakers(nombre,apellido,afiliacion,foto,web,confirmado)
VALUES('Tatiana', 'Toro','University of Washington','img/speakers/ttoro.jpg','https://sites.math.washington.edu/~toro/',1);

View File

@ -5,7 +5,7 @@ function recaptchaCallback(){
} }
$().ready(function(){ $().ready(function(){
$("#otrotitulohidden").hide()
$("#statusmsg").hide(); $("#statusmsg").hide();
$("#txtbda,#txteda").datepicker({ $("#txtbda,#txteda").datepicker({
@ -13,34 +13,31 @@ $().ready(function(){
minDate:new Date(2018,11,17), minDate:new Date(2018,11,17),
maxDate:new Date(2018,11,20) maxDate:new Date(2018,11,20)
}); });
$("#titulo").select2({
data: [
"Estudiante de grado",
"Estudiante de posgrado",
"Posdoctorando",
"Profesor",
"Otro",
],
placeholder: "Seleccione",
width: "100%",
minimumResultsForSearch: Infinity,
});
$("#titulo").on('select2:select', function (e){
var data = e.params.data;
if(data.text==="Otro")
$("#otrotitulohidden").show(500)
else
$("#otrotitulohidden").hide();
})
$("#pais").select2({ $("#pais").select2({
data: data.paises, data: data.paises,
placeholder: "Select Country", placeholder: "Seleccione",
width: "100%", width: "100%",
});/*.one('select2-focus', select2Focus).on("select2-blur", function () {
$(this).one('select2-focus', select2Focus)
}); });
function select2Focus() {
var select2 = $(this).data('select2');
setTimeout(function() {
if (!select2.opened()) {
select2.open();
}
}, 0);
}*/
$("#roomtype").select2({
data: data.roomtypes,
placeholder: "Select Rooming Preference",
width:"100%",
minimumResultsForSearch: -1,
dropdownCssClass: "bigdrop",
});
$('#registerform').on('submit',function(e) { $('#registerform').on('submit',function(e) {
e.preventDefault(); e.preventDefault();
}); });
@ -59,9 +56,16 @@ function select2Focus() {
required: true, required: true,
email: true email: true
}, },
//invited:{required:true}, ciudad:{required:true},
//financiacion:"required", pais:{required:true},
letterinvited:"required", titulo:{required:true},
otrotitulo:{required: function(){
if($("#titulo").select2('data')[0].id === 'Otro')
return true;
else return false
}},
profesion:{required:true},
afiliacion:{required:true},
hiddenRecaptcha: { hiddenRecaptcha: {
required: function() { required: function() {
if(grecaptcha.getResponse() == "") return true; if(grecaptcha.getResponse() == "") return true;
@ -73,18 +77,20 @@ function select2Focus() {
}, },
messages: { messages: {
nombre: { nombre: {
required: "Please enter your firstname", required: "Debe ingresar Nombre",
minlength: "Your firstname must be at least 2 characters long" minlength: "Nombre debe tener al menos 2 caracteres"
}, },
apellido: { apellido: {
required: "Please enter your lastname", required: "Debe ingresar Apellido",
minlength: "Your lastname must be at least 2 characters long" minlength: "Apellido debe tener al menos 2 caracteres"
}, },
email: "Please enter a valid e-mail address", email: "Dirección de e-mail inválida",
invited: "Select one option please", ciudad:"Ingrese ciudad",
financiacion: "Select one option please", pais:"Seleccione País",
letterinvited: "Select one option please", titulo: "Debe ingresar profesión o actividiad",
hiddenRecaptcha: "Please validate reCAPTCHA", otrotitulo:"Aclare el detalle de su profesión o actividad",
afiliacion:"Debe ingresar su afiliación",
hiddenRecaptcha: "Debe validar reCAPTCHA",
}, },
@ -92,7 +98,11 @@ function select2Focus() {
var formdata = $(form).serializeArray(); var formdata = $(form).serializeArray();
formdata.find(item => item.name === "pais").value = $("#pais").select2("data")[0].text.trim(); formdata.find(item => item.name === "pais").value = $("#pais").select2("data")[0].text.trim();
formdata.find(item => item.name === "roomtype").value = $("#roomtype").select2("data")[0].text.trim(); if ($("#titulo").select2("data")[0].id !== "Otro")
formdata.find((item) => item.name === "titulo").value = $("#titulo").select2("data")[0].text.trim();
else
formdata.find((item) => item.name === "titulo").value = $("#otrotitulo").val()
console.log(formdata)
var parameters = $.param(formdata); var parameters = $.param(formdata);
/*$.ajax({ /*$.ajax({
url: 'api/register', url: 'api/register',

View File

@ -41,7 +41,29 @@ $app->get('/participantes', function (Request $request, Response $response, arra
$this->logger->info("GDDWorkshop '/participants' route"); $this->logger->info("GDDWorkshop '/participants' route");
$db = $this->db; $db = $this->db;
$data = $db->getAll(); $data = $db->getAll();
return $this->renderer->render($response, 'participants.html', ['registros' => $data]); $result = array('Estudiante de grado'=>array(),'Estudiante de posgrado'=>array(),'Profesor'=>array(),'Posdoctorando'=>array(),'Otro'=>array());
foreach ($data as $element) {
switch ($element['titulo']){
case 'Profesor':
$result['Profesor'][] = $element;
break;
case 'Posdoctorando':
$result['Posdoctorando'][] = $element;
break;
case 'Estudiante de posgrado':
$result['Estudiante de posgrado'][] = $element;
break;
case 'Estudiante de grado':
$result['Estudiante de grado'][] = $element;
break;
default:
$result['Otro'][] = $element;
break;
}
}
//echo '<pre>' . json_encode($result,JSON_PRETTY_PRINT). '</pre>';
return $this->renderer->render($response, 'participants.html', ['registros' => $result]);
}); });
@ -158,13 +180,23 @@ $app->group('/api', function($app){
else{ else{
if(!isset($data['nombre'])||empty($data['nombre'])) if(!isset($data['nombre'])||empty($data['nombre']))
$messages->addMessageNow("submit-register-err", "First name could not be empty"); $messages->addMessageNow("submit-register-err", "Debe ingresar nombre");
if(!isset($data['apellido'])||empty($data['apellido'])) if(!isset($data['apellido'])||empty($data['apellido']))
$messages->addMessageNow("submit-register-err", "Last name could not be empty"); $messages->addMessageNow("submit-register-err", "Debe ingresar apellido");
if(!isset($data['email'])||empty($data['email'])) if(!isset($data['email'])||empty($data['email']))
$messages->addMessageNow("submit-register-err", "E-mail could not be empty"); $messages->addMessageNow("submit-register-err", "Debe ingresar e-mail");
if(!isset($data['letterinvited'])||!is_numeric($data['letterinvited'])) if(!isset($data['ciudad'])||empty($data['ciudad']))
$messages->addMessageNow("submit-register-err", "Question about needing a letter of invitation must have a selected answer"); $messages->addMessageNow("submit-register-err", "Debe ingresar ciudad");
if(!isset($data['pais'])||empty($data['pais']))
$messages->addMessageNow("submit-register-err", "Debe seleccionar pais");
if(!isset($data['titulo'])||empty($data['titulo']))
$messages->addMessageNow("submit-register-err", "Debe seleccionar profesión o actividad");
if(!isset($data['afiliacion'])||empty($data['afiliacion']))
$messages->addMessageNow("submit-register-err", "Debe ingresar afiliación");
if(!isset($data['emailzoom'])||empty($data['emailzoom']))
$messages->addMessageNow("submit-register-err", "Debe ingresar e-mail asociado a cuenta Zoom");
/*if(!isset($data['letterinvited'])||!is_numeric($data['letterinvited']))
$messages->addMessageNow("submit-register-err", "Question about needing a letter of invitation must have a selected answer");*/
//ReCaptcha Validation //ReCaptcha Validation
if(!isset($data['g-recaptcha-response'])||empty($data['g-recaptcha-response'])){ if(!isset($data['g-recaptcha-response'])||empty($data['g-recaptcha-response'])){
@ -189,8 +221,8 @@ $app->group('/api', function($app){
try{ try{
if($db->findByMail($data['email'])) if($db->findByMail($data['email']))
$messages->addMessageNow("submit-register-err", $data['email']." is already registered<br/>" $messages->addMessageNow("submit-register-err", $data['email']." ya está registrado<br/>"
."Please contact: <b>surfacedynamics2018@cmat.edu.uy</b>"); ."Contacte a: <b>clam2021@fing.edu.uy</b>");
}catch (Exception $e){ }catch (Exception $e){
$this->logger->debug("Submit register DB error: ".$e->getMessage()); $this->logger->debug("Submit register DB error: ".$e->getMessage());
$messages->addMessageNow("submit-register-err", "DB error: ".$e->getMessage()); $messages->addMessageNow("submit-register-err", "DB error: ".$e->getMessage());
@ -199,7 +231,7 @@ $app->group('/api', function($app){
if($messages->hasMessage("submit-register-err")){ if($messages->hasMessage("submit-register-err")){
$arrayresponse = array("success" => false, $arrayresponse = array("success" => false,
"msg"=>"You registration could not be completed:\n", "msg"=>"Su registro NO pudo ser completado:\n",
"errors"=>$messages->getMessage("submit-register-err"), "data"=>$data); "errors"=>$messages->getMessage("submit-register-err"), "data"=>$data);
} }
@ -213,7 +245,7 @@ $app->group('/api', function($app){
$arrayresponse = array("success" => true, $arrayresponse = array("success" => true,
"msg"=>"You have been successfully registered to Workshop on Surface Dynamics 2018", "msg"=>"You have been successfully registered to Workshop on Surface Dynamics 2018",
"data"=>$data); "data"=>$data);
$mailbody = "Hello ".$data["nombre"]." ".$data["apellido"].",\n\n". /*$mailbody = "Hello ".$data["nombre"]." ".$data["apellido"].",\n\n".
"You have been successfully registered to the Workshop on Surface Dynamics 2018!\n\n". "You have been successfully registered to the Workshop on Surface Dynamics 2018!\n\n".
"If you need to change the information you have provided and for any ". "If you need to change the information you have provided and for any ".
"questions please contact surfacedynamics2018@cmat.edu.uy\n\n". "questions please contact surfacedynamics2018@cmat.edu.uy\n\n".
@ -222,7 +254,7 @@ $app->group('/api', function($app){
'Reply-To: ' . "surfacedynamics2018@edu.uy" . "\r\n" . 'Reply-To: ' . "surfacedynamics2018@edu.uy" . "\r\n" .
'Content-Type: ' . "text/plain; charset=UTF-8". "\r\n" . 'Content-Type: ' . "text/plain; charset=UTF-8". "\r\n" .
'X-Mailer: PHP/' . phpversion(); 'X-Mailer: PHP/' . phpversion();
mail($data['email'], 'Successfully registered to the Surface Dynamics 2018 Workshop', $mailbody, $headers); mail($data['email'], 'Successfully registered to the Surface Dynamics 2018 Workshop', $mailbody, $headers);*/
} }
$newres = $response->withJson($arrayresponse); $newres = $response->withJson($arrayresponse);
return $newres; return $newres;

View File

@ -23,7 +23,7 @@ return [
'level' => \Monolog\Logger::DEBUG, 'level' => \Monolog\Logger::DEBUG,
], ],
'db' => [ 'db' => [
'path' => __DIR__."/../db/clam2020.db", 'path' => __DIR__."/../db/clam2021.db",
'schema' => __DIR__."/../db/schema.sql", 'schema' => __DIR__."/../db/schema.sql",
'load_schema' => __DIR__."/../db/.schema.lock" 'load_schema' => __DIR__."/../db/.schema.lock"
], ],

View File

@ -24,7 +24,7 @@
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<a class="navbar-brand visible-xs" href="#">Clam2020 Menu</a> <a class="navbar-brand visible-xs" href="#">Clam2021 Menu</a>
</div> </div>
<div class="navbar-collapse collapse" id="menucollapse"> <div class="navbar-collapse collapse" id="menucollapse">
<div class="container"> <div class="container">

View File

@ -4,29 +4,44 @@
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-12">
<h1><strong>Participants</strong></h1> <h1><strong>Participants</strong></h1>
<div class="alert alert-info"> <!--<div class="alert alert-info">
<i class="glyphicon glyphicon-info-sign"></i> <strong>To be announced</strong><br/> <i class="glyphicon glyphicon-info-sign"></i> <strong>To be announced</strong><br/>
</div> </div>-->
<table class="table table-striped"> <ul class="nav nav-tabs">
{% for cat,val in registros %}
<li class="{{ loop.index == 1 ? 'active' }}"><a data-toggle="tab" href="#{{ loop.index }}">{{cat}}</a></li>
{% endfor %}
</ul>
<div class="tab-content">
{% for cat,val in registros %}
<section class="{{ loop.index == 1 ? 'in active' }} tab-pane fade" id="{{ loop.index }}">
<table class="table table-striped" >
<thead> <thead>
<tr> <tr>
<th>First name</th> <th>Nombre</th>
<th>Last name</th> <th>Apellido</th>
<th>Affiliation</th> <th>Afiliación</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for reg in registros %} {% for reg in val %}
<tr> <tr>
<td>{{ reg.nombre | title }}</td> <td>{{ reg.nombre | title }}</td>
<td>{{ reg.apellido | title }}</td> <td>{{ reg.apellido | title }}</td>
<td>{{ reg.afiliacion }}</td> <td>{{ reg.afiliacion }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</section>
{% endfor %}
</div>
</div> </div>
</div> </div>

View File

@ -42,56 +42,46 @@
<!--<form id="registerform" method="POST" action novalidate="novalidate"> <form id="registerform" method="POST" action novalidate="novalidate">
<fieldset {{ disabled }}>--> <fieldset {{ disabled }}>
<!-- Nombre y Apellido --> <!-- Nombre y Apellido -->
<!-- <div class="row"> <div class="row">
<div class="form-group col-xs-12 col-sm-6"> <div class="form-group col-xs-12 col-sm-6">
<label class="control-label" for="nombre">First Name</label> <label class="control-label" for="nombre">Nombre</label>
<div class="input-container"> <div class="input-container">
<input id="nombre" class="form-control" name="nombre" type="text"> <input id="nombre" class="form-control" placeholder="Juan" name="nombre" type="text">
</div> </div>
</div> </div>
<div class="form-group col-xs-12 col-sm-6"> <div class="form-group col-xs-12 col-sm-6">
<label class="control-label" for="apellido">Last Name</label> <label class="control-label" for="apellido">Apellido</label>
<div class="input-container"> <div class="input-container">
<input id="apellido" class="form-control" name="apellido" type="text"> <input id="apellido" class="form-control" placeholder="Perez" name="apellido" type="text">
</div> </div>
</div> </div>
</div>--> </div>
<!-- Email -->
<!-- Título y Afiliación --> <div class="row">
<!--<div class="row"> <div class="form-group col-xs-12">
<div class="form-group col-xs-12 col-sm-6"> <label class="control-label" for="email">Email de contacto</label>
<label class="control-label" for="titulo">Title</label>
<div class="input-container"> <div class="input-container">
<input id="titulo" class="form-control" name="titulo" <input id="email" class="form-control" name="email"
placeholder="Professor, Post Doc, Grad Student(1st year, 2nd year, etc..)" type="text"> placeholder="mail@example.com" type="email">
</div> </div>
</div> </div>
</div>
<div class="form-group col-xs-12 col-sm-6">
<label class="control-label " for="afiliacion">Affiliation</label>
<div class="input-container">
<input id="afiliacion" class="form-control" name="afiliacion"
placeholder="Which university or organization" type="text">
</div>
</div>
</div>-->
<!-- Ciudad y Pais --> <!-- Ciudad y Pais -->
<!--<div class="row"> <div class="row">
<div class="form-group col-xs-12 col-sm-6"> <div class="form-group col-xs-12 col-sm-6">
<label class=" control-label" for="ciudad">City</label> <label class=" control-label" for="ciudad">Ciudad</label>
<div class="input-container"> <div class="input-container">
<input id="ciudad" name="ciudad" class="form-control" type="text"> <input id="ciudad" placeholder="Montevideo" name="ciudad" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group col-xs-12 col-sm-6"> <div class="form-group col-xs-12 col-sm-6">
<label class=" control-label" for="pais">Country</label> <label class=" control-label" for="pais">País</label>
<div class="input-container"> <div class="input-container">
<select {{ disabled }} id="pais" name="pais"> <select {{ disabled }} id="pais" name="pais">
<option></optoon> <option></optoon>
@ -99,18 +89,43 @@
</div> </div>
</div> </div>
</div>--> </div>
<!-- Título y Afiliación -->
<!-- Email --> <div class="row">
<!--<div class="row"> <div class="form-group col-xs-12 col-sm-6">
<div class="form-group col-xs-12"> <label class="control-label" for="titulo">Profesión o Actividad</label>
<label class="control-label" for="email">Email</label>
<div class="input-container"> <div class="input-container">
<input id="email" class="form-control" name="email" <select {{ disabled }} id="titulo" name="titulo">
placeholder="mail@example.com" type="email"> <option></optoon>
</select>
</div>
<div id="otrotitulohidden" style="margin-top:10px;" class="input-container">
<input id="otrotitulo" placeholder="Detalle otro..." class="form-control" name="otrotitulo">
</div> </div>
</div> </div>
</div>-->
<div class="form-group col-xs-12 col-sm-6">
<label class="control-label " for="afiliacion">Afiliación</label>
<div class="input-container">
<input id="afiliacion" class="form-control" name="afiliacion"
placeholder="Universidad u organización" type="text">
</div>
</div>
</div>
<!-- Email Zoom -->
<div class="row">
<div class="form-group col-xs-12">
<label class="control-label" for="emailzoom">Email de cuenta Zoom</label>
<div class="input-container">
<input id="emailzoom" class="form-control" name="emailzoom"
placeholder="mailzoom@example.com" type="email">
</div>
</div>
</div>
<!-- Beggining date and Endig Date--> <!-- Beggining date and Endig Date-->
<!--<div class="row"> <!--<div class="row">
@ -150,8 +165,8 @@
</div>--> </div>-->
<!-- Invitation and letter of --> <!-- Invitation and letter of -->
<div class="row"> <!--<div class="row">
<!-- <div class="form-group col-xs-12 col-sm-6"> <div class="form-group col-xs-12 col-sm-6">
<label class="control-label" for="invited"> <label class="control-label" for="invited">
Were you invited to participate in this conference? Were you invited to participate in this conference?
@ -199,7 +214,7 @@
</div>--> </div>-->
<!--Captcha --> <!--Captcha -->
<!-- <div class="row"> <div class="row">
<div class="form-group col-xs-12"> <div class="form-group col-xs-12">
<div class="input-container"> <div class="input-container">
@ -212,44 +227,44 @@
<input type="hidden" class="hiddenRecaptcha required" name="hiddenRecaptcha" id="hiddenRecaptcha"> <input type="hidden" class="hiddenRecaptcha required" name="hiddenRecaptcha" id="hiddenRecaptcha">
</div> </div>
</div> </div>
</div>--> </div>
<!-- Confirm Button --> <!-- Confirm Button -->
<!-- <div class="row"> <div class="row">
<div class="form-group col-xs-12 col-sm-8"> <div class="form-group col-xs-12 col-sm-8">
<button type="submit" class="btn-lg btn btn-primary">Register</button> <button type="submit" class="btn-lg btn btn-primary">Register</button>
</div> </div>
</div> </div>
<fieldset disabled="disabled"> <!--<fieldset disabled="disabled">-->
</form>--> </form>
<!--<div id="msgModal" class="modal fade" role="dialog"> <div id="msgModal" class="modal fade" role="dialog" tabindex="-1" aria-hidden="true" labelledby="msgModal">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button> <button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Surface Dynamics 2018 Workshop Registration</h4> <h4 class="modal-title">Registro CLAM2021</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="alert"> <div class="alert">
</div> </div>
</div>--> </div>
<!--<div class="modal-footer"> <!-- <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"> <button type="button" class="btn btn-default" data-dismiss="modal">
</button> </button>
<button type="button" class="btn btn-default" data-dismiss="modal">No <button type="button" class="btn btn-default" data-dismiss="modal">No
</button> </button>
</div> </div>-->
</div> </div>
</div>--> </div>
</div> </div>
{% endblock %} {% endblock %}