private boolean saveUser(ArrayList<Machine> machines) {
		String firstName = firstNameField.getText();
		String lastName = lastNameField.getText();
		String cwid = userIDField.getText();
		String email = emailField.getText();
		String department = departField.getText();

		SystemAdministrator admin = ((SystemAdministrator) Driver
				.getAccessTracker().getCurrentUser());

		// Gets the user with same CWID from the Oracle database if that user
		// exists.
		try {
			addedUser = admin.loadNewUser(cwid, connection);
		} catch (SQLException e) {
			System.out.println(e.getMessage());
			e.printStackTrace();
		}

		if (addedUser == null) {
			// If the user being added does not exist in Oracle database,
			// ask the System Administrator if he/she still wants to add.
			String message = "Our records show that the CWID " + cwid
					+ " either does not exist or is not an active "
					+ "student at Mines.\nDo you still want to add "
					+ firstName + " " + lastName
					+ " to the database?\n\nThis action is highly discouraged.";

			if (confirm(message)) {
				addedUser = new User(firstName, lastName, cwid, email, department);
				if (admin.addUser(addedUser)) {
					admin.updateCertifications(addedUser, machines);
					return true;
				} else {
					clearFields();
				}
			}
		} else {
			if (firstName.equals(addedUser.getFirstName())
					&& lastName.equals(addedUser.getLastName())) {
				if (admin.addUser(addedUser)) {
					admin.updateCertifications(addedUser, machines);
					return true;
				} else {
					clearFields();
				}
			} else {
				// If the name in Oracle database is different from what was
				// entered, ask the System Administrator if this is the person he/she
				// wants to add.
				String message = "Our records show that the name associated with this CWID is "
						+ addedUser.getFirstName()
						+ " "
						+ addedUser.getLastName()
						+ ".\n"
						+ "Is this the user you meant to add?\n\nClick Yes to add this user "
						+ "to the database, or No/Cancel to go back.";
				if (confirm(message)) {
					if (admin.addUser(addedUser)) {
						admin.updateCertifications(addedUser, machines);
						return true;
					} else {
						clearFields();
					}
				}
			}
		}
		return false;
	}