feat: Implement admin-only specialties management interface
Playwright Tests / test (push) Canceled after 0s
Playwright Tests / test (push) Canceled after 0s
- Added MailerAttachmentPolicy for validating email attachments against server rules. - Introduced fis.specialties.js for managing hidden maintenance actions via an admin interface. - Created fis.specialties.scss for styling the specialties management UI. - Added German localization for specialties management in fis.specialties_txt_de.js. - Developed CSS for specialties management in fis.specialties.css. - Implemented server-side stored procedure fds__admin_backupAndClearInvoiceFile for backing up and clearing invoice files. - Created fds__invoice_file_backups table to store backup records of invoice files.
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
/* basics */
|
||||
/* Color SCHEME */
|
||||
/* #8396bd */
|
||||
/* #e3e6e6 */
|
||||
/* #ffffff */
|
||||
/* #262626 */
|
||||
/* #262626 */
|
||||
/* #e3e6e6 */
|
||||
/* #FFC801 */
|
||||
/* #ffff4a */
|
||||
/* media breaks */
|
||||
/* other */
|
||||
/* mixin */
|
||||
/* basics */
|
||||
/* Color SCHEME */
|
||||
/* #1b4379 #0033b3 */
|
||||
/*neu: #56a532 ; alt: rgb(32,144,119);*/
|
||||
/* 10% sw */
|
||||
.spcfrm {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
.spcfrm .spc_intro {
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 0.6rem;
|
||||
background: #f3f6fb;
|
||||
border-left: 3px solid rgb(27, 67, 121);
|
||||
font-size: 0.9rem;
|
||||
color: #444;
|
||||
}
|
||||
.spcfrm .spc_grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
|
||||
gap: 1rem;
|
||||
align-items: start;
|
||||
}
|
||||
.spcfrm .spc_card {
|
||||
border: 1px solid #d5d5d5;
|
||||
border-radius: 0.4rem;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 3px rgba(50, 50, 50, 0.12);
|
||||
overflow: hidden;
|
||||
}
|
||||
.spcfrm .spc_card_hd {
|
||||
padding: 0.6rem 0.85rem;
|
||||
background: rgb(27, 67, 121);
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
.spcfrm .spc_card_bd {
|
||||
padding: 0.75rem 0.85rem;
|
||||
}
|
||||
.spcfrm .spc_card_desc {
|
||||
font-size: 0.88rem;
|
||||
color: #555;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
.spcfrm .spc_form .spc_field {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.2rem;
|
||||
margin-bottom: 0.6rem;
|
||||
}
|
||||
.spcfrm .spc_form .spc_field label {
|
||||
font-size: 0.85rem;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
.spcfrm .spc_form .spc_field input {
|
||||
padding: 0.3rem 0.45rem;
|
||||
border: 1px solid #bbb;
|
||||
border-radius: 0.25rem;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
.spcfrm .spc_form .spc_field input:invalid {
|
||||
border-color: #c0341d;
|
||||
}
|
||||
.spcfrm .spc_form .spc_field .spc_field_note {
|
||||
font-size: 0.78rem;
|
||||
color: #777;
|
||||
}
|
||||
.spcfrm .spc_form .spc_actions {
|
||||
text-align: right;
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
.spcfrm .spc_btn {
|
||||
cursor: pointer;
|
||||
border-radius: 0.28rem;
|
||||
padding: 0.3rem 0.8rem;
|
||||
font-size: 0.9rem;
|
||||
border: 1px solid #ababab;
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
}
|
||||
.spcfrm .spc_btn.spc_btn_primary {
|
||||
background-color: rgb(86, 165, 50);
|
||||
border-color: rgb(69.68, 133.688372093, 40.511627907);
|
||||
color: #fff;
|
||||
}
|
||||
.spcfrm .spc_btn:disabled {
|
||||
opacity: 0.6;
|
||||
cursor: default;
|
||||
}
|
||||
.spcfrm .spc_result {
|
||||
margin-top: 0.75rem;
|
||||
padding: 0.5rem 0.6rem;
|
||||
border-radius: 0.25rem;
|
||||
font-size: 0.88rem;
|
||||
word-break: break-word;
|
||||
}
|
||||
.spcfrm .spc_result .spc_result_line + .spc_result_line {
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
.spcfrm .spc_result.spc_result_ok {
|
||||
background: #e2f3da;
|
||||
color: #2f6d18;
|
||||
}
|
||||
.spcfrm .spc_result.spc_result_err {
|
||||
background: #f3ded9;
|
||||
color: #c0341d;
|
||||
}
|
||||
Reference in New Issue
Block a user