139 lines
8.7 KiB
HTML
139 lines
8.7 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}{{ gettext('Add Student') }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-12 col-lg-8 offset-lg-2">
|
|
<h1 class="page-title">{{ gettext('Add Student') }}</h1>
|
|
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5 class="mb-0">{{ gettext('Student Information') }}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<form method="POST" action="{{ url_for('add_student') }}">
|
|
|
|
<!-- Identification Section -->
|
|
<fieldset class="mb-4">
|
|
<legend class="text-primary">{{ gettext('Identification') }}</legend>
|
|
|
|
<div class="row mb-3">
|
|
<label for="cial_code" class="col-sm-3 col-form-label">{{ gettext('CIAL Code') }} *</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" id="cial_code" name="cial_code"
|
|
value="{{ request.form.cial_code if request.method == 'POST' else '' }}"
|
|
required autofocus>
|
|
<div class="form-text">{{ gettext('Unique internal identification code') }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label for="nif_nie_passport" class="col-sm-3 col-form-label">{{ gettext('NIF/NIE/Passport') }}</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" id="nif_nie_passport" name="nif_nie_passport"
|
|
value="{{ request.form.nif_nie_passport if request.method == 'POST' else '' }}">
|
|
<div class="form-text">{{ gettext('National ID, Foreign ID, or Passport number') }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label for="registration_number" class="col-sm-3 col-form-label">{{ gettext('Registration Number') }}</label>
|
|
<div class="col-sm-9">
|
|
<input type="number" class="form-control" id="registration_number" name="registration_number"
|
|
value="{{ request.form.registration_number if request.method == 'POST' else '' }}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label for="file_number" class="col-sm-3 col-form-label">{{ gettext('File Number') }}</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" id="file_number" name="file_number"
|
|
value="{{ request.form.file_number if request.method == 'POST' else '' }}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label for="order_number" class="col-sm-3 col-form-label">{{ gettext('Order Number') }}</label>
|
|
<div class="col-sm-9">
|
|
<input type="number" class="form-control" id="order_number" name="order_number"
|
|
value="{{ request.form.order_number if request.method == 'POST' else '' }}">
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<!-- Personal Information Section -->
|
|
<fieldset class="mb-4">
|
|
<legend class="text-primary">{{ gettext('Personal Information') }}</legend>
|
|
|
|
<div class="row mb-3">
|
|
<label for="last_name" class="col-sm-3 col-form-label">{{ gettext('Last Name') }} *</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" id="last_name" name="last_name"
|
|
value="{{ request.form.last_name if request.method == 'POST' else '' }}"
|
|
required>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label for="first_name" class="col-sm-3 col-form-label">{{ gettext('First Name') }} *</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" id="first_name" name="first_name"
|
|
value="{{ request.form.first_name if request.method == 'POST' else '' }}"
|
|
required>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label for="birth_date" class="col-sm-3 col-form-label">{{ gettext('Birth Date') }}</label>
|
|
<div class="col-sm-9">
|
|
<input type="date" class="form-control" id="birth_date" name="birth_date"
|
|
value="{{ request.form.birth_date if request.method == 'POST' else '' }}">
|
|
<div class="form-text">{{ gettext('Format: YYYY-MM-DD') }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mb-3">
|
|
<label for="gender" class="col-sm-3 col-form-label">{{ gettext('Gender') }}</label>
|
|
<div class="col-sm-9">
|
|
<select class="form-select" id="gender" name="gender">
|
|
<option value="">{{ gettext('Select...') }}</option>
|
|
<option value="M" {% if request.method == 'POST' and request.form.gender == 'M' %}selected{% endif %}>{{ gettext('Male') }}</option>
|
|
<option value="F" {% if request.method == 'POST' and request.form.gender == 'F' %}selected{% endif %}>{{ gettext('Female') }}</option>
|
|
<option value="O" {% if request.method == 'POST' and request.form.gender == 'O' %}selected{% endif %}>{{ gettext('Other') }}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<!-- Study Information Section -->
|
|
<fieldset class="mb-4">
|
|
<legend class="text-primary">{{ gettext('Study Information') }}</legend>
|
|
|
|
<div class="row mb-3">
|
|
<label for="study_group" class="col-sm-3 col-form-label">{{ gettext('Study Group') }}</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" id="study_group" name="study_group"
|
|
value="{{ request.form.study_group if request.method == 'POST' else '' }}">
|
|
<div class="form-text">{{ gettext('E.g., 1º FPB BÁSICA') }}</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<!-- Form Actions -->
|
|
<div class="d-flex justify-content-end gap-2">
|
|
<a href="{{ url_for('list_students') }}" class="btn btn-secondary">
|
|
<i class="bi bi-x-circle"></i> {{ gettext('Cancel') }}
|
|
</a>
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="bi bi-check-circle"></i> {{ gettext('Save Student') }}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|