Tags: Yilliee/MSP
Tags
MSP : v1.7 : Add checks for storing credentials *Admin : Cred_mgr : If all the credential boxes are empty don't save anything *Admin : Cred_mgr : Don't accept spaces in username and passwords *Admin : Cred_mgr : Don't allow duplicate username and ids *Admin : Cred_mgr : If any entry for a specific serial number is empty, nullify all the others for that serial number and let the user know * Switch to using the term 'username' instead of 'email' throughout the code
MSP : v1.6 : Add proper comments and minor bug fixes * Switch to writing full namespaces before item names instead of invidually including them. * Admin.h : controls to the Left/Right/Bottom/Top of the other controls instead of using y_pos var. * Create a local tab_index variable to keep track of tab indexes inside each initialize function. * Use Controls->AddRange where neccessary instead of using a loop to add each individual entry * Use ToString method of int class instead of std::to_string where possible * Create custom functions for string to int, float and double conversions. * Create a roundoff function and utilize that instead of ceil * Make sure to use this pointer before class scope variable everywhere * Don't show Maximize and Minimize buttons with the New_Pass_prompt * Don't set tab_indexes of labels * Admin.h : Use a standard pointer in Save_button_Cred_Click method instead of a pin pointer * variables.h : Add a class_total variable to the Subjects struct * functions.h : Update Calc_total function and remove the things handled by Calc_total from Calc_grade functions * Login.h : Only try authenticating with a new cred array if the previous check return no match * Student.h : Bring menu button to front after initializing menu components * Student.h : Rename items being used in Marks page * Student.h : Only do the Max->Normal->Max dance with the attendance page since only that requires it
MSP : V1.5 : Bug fixes and small improvements * functions.h : Use create_directories (recursive) function from filesystem header file to create directories for the txt files if the directories don't exist * functons.h : Make getline overloads for getting int bool and float values from the txt files * functions.h : Pass the folder and filename to the write functions and open the files through th ofstream object only after verifying that the directories exist * variables.h : Create variables for Lec_per_Week and curr_week * variables.h : Make a 3D array invlving Lec_per_week as the 3rd index to store the attendance instead of just using 2 2D arrays to help with future modifications * variables.h : Default teach_no of the subjects struct to -1 and sections of the Settings struct to 1 instead of 0 * variables.h : Create a new object of credentials struct to store credentials of the default super-admin incase no admin creds are available. * main.cpp : read_data_from_files : Only call the Read functions if the respective files are open * main.cpp : Create a new function fix_exceptions to handle cases when no data has been read from the files ( Default values for the elements of the arrays in structs ) * Admin.h : Allow the admins the reset their own passwords after logging in * Admin.h : Make Subject_Suballot_cb an actual 2D array instead of using a 1D array like a 2D one * Admin.h : Create a local variable tab_index to assign tab_indexes in increasing order to items * Admin.h : Allow setting up the credentials of all 3 admin accounts if the curent logged-in user is the super-admin account * Admin.h : Don't assign tabindexes to labels as by-default they have tabstop set to false * Admin.h : Do not anchor items to the left where it isn't needed. * Admin.h : Set the accept button in the credential manager to be the save button * Admin.h : Make sure the the password length in credential manager is atleast 4 characters * Admin.h : Don't update the subject data in the files upon clickig the save button of suballot if all the entries are empty in subject_details * Admin.h : Move section manager's load_buttons functions from the top, down to the functions section at the bottom * Admin : Don't add/remove empty entries in SubAllot ComboBoxes * Login.h : Remove unused properties from items and open student form if the credentials match with a student * Teacher.h : Allow the teachers to change their passwords * Teacher.h : Remove unused items * Teacher.h : Merge 1D arrays of attendance ComboBoxes into a 2D array * Teacher.h : Don't accept negative marks in marksheet * Student.h : Allow the students to change their passwords * Student.h : Add password reset and logout to the menu * Student.h : Replace the indexes of the Attendance labelsto make them inline with the other arrays. * Student.h : Display the grade label on the basis of Grade_enabled property of the subject instead of checking for NaN * Student.h : Only load data for Marks/Attendance if a subject has been selected in the subject_selector ComboBox. * Student.h : If the screen is maximized at the time of clicking a menu button, temporarily return the winform to normal to initialize the components