학생 계정 개별 추가: 기본 비밀번호 1234로 고정
엑셀 일괄 등록과 동일하게 초기 비밀번호를 항상 1234로 고정하고 입력칸을 없앰. 대신 폼에 "초기 비밀번호: 1234 (고정)" 안내 표시. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,6 @@ class _TeacherStudentManagementPageState
|
|||||||
TeacherStudentManagementController();
|
TeacherStudentManagementController();
|
||||||
final TextEditingController _addIdController = TextEditingController();
|
final TextEditingController _addIdController = TextEditingController();
|
||||||
final TextEditingController _addNameController = TextEditingController();
|
final TextEditingController _addNameController = TextEditingController();
|
||||||
final TextEditingController _addPwController = TextEditingController();
|
|
||||||
int? _selectedGrade;
|
int? _selectedGrade;
|
||||||
bool _isDragging = false;
|
bool _isDragging = false;
|
||||||
|
|
||||||
@@ -42,17 +41,15 @@ class _TeacherStudentManagementPageState
|
|||||||
_controller.dispose();
|
_controller.dispose();
|
||||||
_addIdController.dispose();
|
_addIdController.dispose();
|
||||||
_addNameController.dispose();
|
_addNameController.dispose();
|
||||||
_addPwController.dispose();
|
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ➕ [학생 추가 버튼 동작]
|
// ➕ [학생 추가 버튼 동작] 기본 비밀번호는 항상 1234로 고정.
|
||||||
Future<void> _addStudentAccount() async {
|
Future<void> _addStudentAccount() async {
|
||||||
final sId = _addIdController.text.trim();
|
final sId = _addIdController.text.trim();
|
||||||
final sName = _addNameController.text.trim();
|
final sName = _addNameController.text.trim();
|
||||||
final sPw = _addPwController.text.trim();
|
|
||||||
|
|
||||||
if (sId.isEmpty || sName.isEmpty || sPw.isEmpty) {
|
if (sId.isEmpty || sName.isEmpty) {
|
||||||
ScaffoldMessenger.of(
|
ScaffoldMessenger.of(
|
||||||
context,
|
context,
|
||||||
).showSnackBar(const SnackBar(content: Text('⚠️ 모든 입력란을 채워주세요.')));
|
).showSnackBar(const SnackBar(content: Text('⚠️ 모든 입력란을 채워주세요.')));
|
||||||
@@ -62,14 +59,13 @@ class _TeacherStudentManagementPageState
|
|||||||
final (success, message) = await _controller.addStudentAccount(
|
final (success, message) = await _controller.addStudentAccount(
|
||||||
studentId: sId,
|
studentId: sId,
|
||||||
name: sName,
|
name: sName,
|
||||||
password: sPw,
|
password: '1234',
|
||||||
grade: _selectedGrade,
|
grade: _selectedGrade,
|
||||||
);
|
);
|
||||||
if (!mounted) return;
|
if (!mounted) return;
|
||||||
if (success) {
|
if (success) {
|
||||||
_addIdController.clear();
|
_addIdController.clear();
|
||||||
_addNameController.clear();
|
_addNameController.clear();
|
||||||
_addPwController.clear();
|
|
||||||
setState(() => _selectedGrade = null);
|
setState(() => _selectedGrade = null);
|
||||||
}
|
}
|
||||||
ScaffoldMessenger.of(
|
ScaffoldMessenger.of(
|
||||||
@@ -430,11 +426,18 @@ class _TeacherStudentManagementPageState
|
|||||||
decoration: fieldDecoration('이름', Icons.person),
|
decoration: fieldDecoration('이름', Icons.person),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 4),
|
const SizedBox(height: 4),
|
||||||
TextField(
|
const Padding(
|
||||||
controller: _addPwController,
|
padding: EdgeInsets.symmetric(horizontal: 4),
|
||||||
obscureText: true,
|
child: Row(
|
||||||
style: const TextStyle(fontSize: 12),
|
children: [
|
||||||
decoration: fieldDecoration('초기 비밀번호', Icons.lock),
|
Icon(Icons.lock, size: 14, color: Colors.grey),
|
||||||
|
SizedBox(width: 6),
|
||||||
|
Text(
|
||||||
|
'초기 비밀번호: 1234 (고정)',
|
||||||
|
style: TextStyle(fontSize: 11, color: Colors.grey),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 4),
|
const SizedBox(height: 4),
|
||||||
DropdownButtonFormField<int>(
|
DropdownButtonFormField<int>(
|
||||||
|
|||||||
Reference in New Issue
Block a user