diff --git a/.idea/ant.xml b/.idea/ant.xml new file mode 100644 index 0000000..a2a4769 --- /dev/null +++ b/.idea/ant.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/libraries/libs.xml b/.idea/libraries/libs.xml new file mode 100644 index 0000000..fb12f08 --- /dev/null +++ b/.idea/libraries/libs.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..c07f4d8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0f7a87e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..439905a --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1630257501575 + + + + \ No newline at end of file diff --git a/Books-List.xlsx b/Books-List.xlsx new file mode 100644 index 0000000..144e10d Binary files /dev/null and b/Books-List.xlsx differ diff --git a/Library-Assistant.iml b/Library-Assistant.iml new file mode 100644 index 0000000..6bb1770 --- /dev/null +++ b/Library-Assistant.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Members-List.xlsx b/Members-List.xlsx new file mode 100644 index 0000000..d10aa97 Binary files /dev/null and b/Members-List.xlsx differ diff --git a/README.md b/README.md index b2fe00e..a74b5fe 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,16 @@ This is a library management software developed using JavaFX programming language. The entire development video with explanation of each and every part (in realtime) is available in my YouTube Channel [Genuine Coder Youtube Channel](https://www.youtube.com/playlist?list=PLhs1urmduZ29jTcE1ca8Z6bZNvH_39ayL). ### New Features +* One-click Excel file import for Books list into database + Added functionality to add Books into the database from a XLS/XLSX file for easier and faster storage of large amounts of data. +

+ +

+* One-click Excel file import for Members list into database + Added functionality to add Members into the database from a XLS/XLSX file for easier and faster storage of large amounts of data. +

+ +

* One-click database export

diff --git a/libs/commons-codec-1.9.jar b/libs/commons-codec-1.9.jar new file mode 100644 index 0000000..ef35f1c Binary files /dev/null and b/libs/commons-codec-1.9.jar differ diff --git a/libs/dom4j-1.6.jar b/libs/dom4j-1.6.jar new file mode 100644 index 0000000..e19f4ce Binary files /dev/null and b/libs/dom4j-1.6.jar differ diff --git a/libs/poi-3.11.jar b/libs/poi-3.11.jar new file mode 100644 index 0000000..0a34fb7 Binary files /dev/null and b/libs/poi-3.11.jar differ diff --git a/libs/poi-ooxml-3.11.jar b/libs/poi-ooxml-3.11.jar new file mode 100644 index 0000000..fa0dc02 Binary files /dev/null and b/libs/poi-ooxml-3.11.jar differ diff --git a/libs/poi-ooxml-schemas-3.11.jar b/libs/poi-ooxml-schemas-3.11.jar new file mode 100644 index 0000000..c5bf6a1 Binary files /dev/null and b/libs/poi-ooxml-schemas-3.11.jar differ diff --git a/libs/stax-api-1.0.1.jar b/libs/stax-api-1.0.1.jar new file mode 100644 index 0000000..d9a1665 Binary files /dev/null and b/libs/stax-api-1.0.1.jar differ diff --git a/libs/xmlbeans-2.3.0.jar b/libs/xmlbeans-2.3.0.jar new file mode 100644 index 0000000..ccd8163 Binary files /dev/null and b/libs/xmlbeans-2.3.0.jar differ diff --git a/libs/xmlbeans-2.6.0.jar b/libs/xmlbeans-2.6.0.jar new file mode 100644 index 0000000..d1b6627 Binary files /dev/null and b/libs/xmlbeans-2.6.0.jar differ diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 40826d6..e4fc634 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -155,18 +155,6 @@ is divided into following sections: - - - - - - - - - - - - @@ -1194,13 +1182,27 @@ is divided into following sections: - + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: java -jar "${dist.jar.resolved}" - + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index 88c8862..4957b1f 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=8064a381@1.80.1.48 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=ef5fab51 -nbproject/build-impl.xml.script.CRC32=7f97e384 -nbproject/build-impl.xml.stylesheet.CRC32=3a2fa800@1.88.0.48 +nbproject/build-impl.xml.script.CRC32=a96863d4 +nbproject/build-impl.xml.stylesheet.CRC32=f89f7d21@1.95.0.48 diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties index 496b1c1..961d930 100644 --- a/nbproject/private/private.properties +++ b/nbproject/private/private.properties @@ -2,6 +2,7 @@ auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled=true compile.on.save=true do.depend=false do.jar=true +do.jlink=false # No need to modify this property unless customizing JavaFX Ant task infrastructure endorsed.javafx.ant.classpath=. javac.debug=true @@ -9,4 +10,5 @@ javadoc.preview=true javafx.run.as=standalone javafx.run.inbrowser= javafx.run.inbrowser.path= -user.properties.file=C:\\Users\\Afsal\\AppData\\Roaming\\NetBeans\\11.1\\build.properties +jlink.strip=false +user.properties.file=C:\\Users\\user\\AppData\\Roaming\\NetBeans\\12.0\\build.properties diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index dbf1d67..7c606c2 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -3,7 +3,9 @@ - file:/C:/Users/Afsal/Documents/GitHub/Library-Assistant/src/library/assistant/util/LibraryAssistantUtil.java + file:/C:/Users/user/Documents/GitHub/Library-Assistant/src/library/assistant/ui/main/main.fxml + file:/C:/Users/user/Documents/GitHub/Library-Assistant/src/library/assistant/ui/main/Main.java + file:/C:/Users/user/Documents/GitHub/Library-Assistant/src/library/assistant/ui/main/MainController.java diff --git a/nbproject/project.properties b/nbproject/project.properties index 49ba83d..dac4290 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -33,13 +33,15 @@ dist.jar=${dist.dir}/Library Assistant.jar dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= -file.reference.boxable-1.5-RC.jar=libs\\boxable-1.5-RC.jar -file.reference.commons-codec-1.11.jar=libs\\commons-codec-1.11.jar -file.reference.commons-csv-1.4.jar=libs\\commons-csv-1.4.jar -file.reference.commons-lang3-3.9.jar=libs\\commons-lang3-3.9.jar -file.reference.commons-logging-1.2.jar=libs\\commons-logging-1.2.jar +file.reference.boxable-1.5-RC.jar=libs/boxable-1.5-RC.jar +file.reference.commons-codec-1.11.jar=libs/commons-codec-1.11.jar +file.reference.commons-codec-1.9.jar=libs/commons-codec-1.9.jar +file.reference.commons-csv-1.4.jar=libs/commons-csv-1.4.jar +file.reference.commons-lang3-3.9.jar=libs/commons-lang3-3.9.jar +file.reference.commons-logging-1.2.jar=libs/commons-logging-1.2.jar file.reference.derby.jar=libs/derby.jar file.reference.derbyclient.jar=libs/derbyclient.jar +file.reference.dom4j-1.6.jar=libs/dom4j-1.6.jar file.reference.fontawesomefx-commons-8.15.jar=libs\\fontawesomefx-commons-8.15.jar file.reference.fontawesomefx-fontawesome-4.7.0-5.jar=libs\\fontawesomefx-fontawesome-4.7.0-5.jar file.reference.fontbox-2.0.4.jar=libs\\fontbox-2.0.4.jar @@ -50,14 +52,18 @@ file.reference.jfoenix-8.0.4.jar=libs/jfoenix-8.0.4.jar file.reference.log4j-api-2.11.0.jar=libs\\log4j-api-2.11.0.jar file.reference.log4j-core-2.11.0.jar=libs\\log4j-core-2.11.0.jar file.reference.pdfbox-2.0.3.jar=libs\\pdfbox-2.0.3.jar +file.reference.poi-3.11.jar=libs/poi-3.11.jar +file.reference.poi-ooxml-3.11.jar=libs/poi-ooxml-3.11.jar +file.reference.poi-ooxml-schemas-3.11.jar=libs/poi-ooxml-schemas-3.11.jar file.reference.slf4j-api-1.7.25.jar=libs\\slf4j-api-1.7.25.jar file.reference.slf4j-simple-1.7.25.jar=libs\\slf4j-simple-1.7.25.jar +file.reference.stax-api-1.0.1.jar=libs/stax-api-1.0.1.jar +file.reference.xmlbeans-2.3.0.jar=libs/xmlbeans-2.3.0.jar includes=** # Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects jar.archive.disabled=true jar.compress=false javac.classpath=\ - ${javafx.classpath.extension}:\ ${file.reference.derby.jar}:\ ${file.reference.derbyclient.jar}:\ ${file.reference.gson-2.8.1.jar}:\ @@ -76,7 +82,20 @@ javac.classpath=\ ${file.reference.log4j-api-2.11.0.jar}:\ ${file.reference.log4j-core-2.11.0.jar}:\ ${file.reference.javax.mail-1.6.1.jar}:\ - ${file.reference.commons-lang3-3.9.jar} + ${file.reference.commons-lang3-3.9.jar}:\ + ${javafx.classpath.extension}:\ + ${file.reference.boxable-1.5-RC.jar}:\ + ${file.reference.commons-codec-1.11.jar}:\ + ${file.reference.commons-codec-1.9.jar}:\ + ${file.reference.commons-csv-1.4.jar}:\ + ${file.reference.commons-lang3-3.9.jar}:\ + ${file.reference.commons-logging-1.2.jar}:\ + ${file.reference.poi-3.11.jar}:\ + ${file.reference.poi-ooxml-3.11.jar}:\ + ${file.reference.poi-ooxml-schemas-3.11.jar}:\ + ${file.reference.dom4j-1.6.jar}:\ + ${file.reference.stax-api-1.0.1.jar}:\ + ${file.reference.xmlbeans-2.3.0.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false @@ -97,6 +116,7 @@ javac.test.processorpath=\ javadoc.additionalparam= javadoc.author=false javadoc.encoding=${source.encoding} +javadoc.html5=false javadoc.noindex=false javadoc.nonavbar=false javadoc.notree=false @@ -144,6 +164,8 @@ javafx.run.width=800 javafx.signing.blob=false javafx.signing.enabled=false javafx.signing.type=notsigned +jlink.launcher=false +jlink.launcher.name=Library_Assistant # Pre-JavaFX 2.0 WebStart is deactivated in JavaFX 2.0+ projects jnlp.enabled=false # Main class for Java launcher diff --git a/out/production/Library-Assistant/library/assistant/alert/AlertMaker.class b/out/production/Library-Assistant/library/assistant/alert/AlertMaker.class new file mode 100644 index 0000000..21411e5 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/alert/AlertMaker.class differ diff --git a/out/production/Library-Assistant/library/assistant/data/callback/GenericCallback.class b/out/production/Library-Assistant/library/assistant/data/callback/GenericCallback.class new file mode 100644 index 0000000..9b0154a Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/data/callback/GenericCallback.class differ diff --git a/out/production/Library-Assistant/library/assistant/data/model/Book.class b/out/production/Library-Assistant/library/assistant/data/model/Book.class new file mode 100644 index 0000000..b7cef23 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/data/model/Book.class differ diff --git a/out/production/Library-Assistant/library/assistant/data/model/MailServerInfo.class b/out/production/Library-Assistant/library/assistant/data/model/MailServerInfo.class new file mode 100644 index 0000000..30fd16d Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/data/model/MailServerInfo.class differ diff --git a/out/production/Library-Assistant/library/assistant/data/model/Member.class b/out/production/Library-Assistant/library/assistant/data/model/Member.class new file mode 100644 index 0000000..2a9a293 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/data/model/Member.class differ diff --git a/out/production/Library-Assistant/library/assistant/database/DataHelper.class b/out/production/Library-Assistant/library/assistant/database/DataHelper.class new file mode 100644 index 0000000..410c06e Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/database/DataHelper.class differ diff --git a/out/production/Library-Assistant/library/assistant/database/DatabaseHandler.class b/out/production/Library-Assistant/library/assistant/database/DatabaseHandler.class new file mode 100644 index 0000000..563d3d4 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/database/DatabaseHandler.class differ diff --git a/out/production/Library-Assistant/library/assistant/database/export/DatabaseExporter.class b/out/production/Library-Assistant/library/assistant/database/export/DatabaseExporter.class new file mode 100644 index 0000000..d78e789 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/database/export/DatabaseExporter.class differ diff --git a/out/production/Library-Assistant/library/assistant/email/EmailUtil$1.class b/out/production/Library-Assistant/library/assistant/email/EmailUtil$1.class new file mode 100644 index 0000000..b4c1044 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/email/EmailUtil$1.class differ diff --git a/out/production/Library-Assistant/library/assistant/email/EmailUtil$2.class b/out/production/Library-Assistant/library/assistant/email/EmailUtil$2.class new file mode 100644 index 0000000..0db4c3c Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/email/EmailUtil$2.class differ diff --git a/out/production/Library-Assistant/library/assistant/email/EmailUtil.class b/out/production/Library-Assistant/library/assistant/email/EmailUtil.class new file mode 100644 index 0000000..1504368 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/email/EmailUtil.class differ diff --git a/out/production/Library-Assistant/library/assistant/encryption/CipherSpec.class b/out/production/Library-Assistant/library/assistant/encryption/CipherSpec.class new file mode 100644 index 0000000..5a783fa Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/encryption/CipherSpec.class differ diff --git a/out/production/Library-Assistant/library/assistant/encryption/EncryptionUtil.class b/out/production/Library-Assistant/library/assistant/encryption/EncryptionUtil.class new file mode 100644 index 0000000..64ee056 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/encryption/EncryptionUtil.class differ diff --git a/out/production/Library-Assistant/library/assistant/exceptions/DefaultExceptionHandler.class b/out/production/Library-Assistant/library/assistant/exceptions/DefaultExceptionHandler.class new file mode 100644 index 0000000..4b748bb Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/exceptions/DefaultExceptionHandler.class differ diff --git a/out/production/Library-Assistant/library/assistant/exceptions/ExceptionUtil$1.class b/out/production/Library-Assistant/library/assistant/exceptions/ExceptionUtil$1.class new file mode 100644 index 0000000..c264174 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/exceptions/ExceptionUtil$1.class differ diff --git a/out/production/Library-Assistant/library/assistant/exceptions/ExceptionUtil.class b/out/production/Library-Assistant/library/assistant/exceptions/ExceptionUtil.class new file mode 100644 index 0000000..7dbcd86 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/exceptions/ExceptionUtil.class differ diff --git a/out/production/Library-Assistant/library/assistant/export/pdf/ListToPDF$Orientation.class b/out/production/Library-Assistant/library/assistant/export/pdf/ListToPDF$Orientation.class new file mode 100644 index 0000000..22c70bc Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/export/pdf/ListToPDF$Orientation.class differ diff --git a/out/production/Library-Assistant/library/assistant/export/pdf/ListToPDF.class b/out/production/Library-Assistant/library/assistant/export/pdf/ListToPDF.class new file mode 100644 index 0000000..cc61867 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/export/pdf/ListToPDF.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/about/AboutController.class b/out/production/Library-Assistant/library/assistant/ui/about/AboutController.class new file mode 100644 index 0000000..afbc846 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/about/AboutController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/about/about.fxml b/out/production/Library-Assistant/library/assistant/ui/about/about.fxml new file mode 100644 index 0000000..02b2186 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/about/about.fxml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/addbook/BookAddController.class b/out/production/Library-Assistant/library/assistant/ui/addbook/BookAddController.class new file mode 100644 index 0000000..a7a21b7 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/addbook/BookAddController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/addbook/LibraryAssistant.class b/out/production/Library-Assistant/library/assistant/ui/addbook/LibraryAssistant.class new file mode 100644 index 0000000..ac276f1 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/addbook/LibraryAssistant.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/addbook/add_book.fxml b/out/production/Library-Assistant/library/assistant/ui/addbook/add_book.fxml new file mode 100644 index 0000000..db8e9dc --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/addbook/add_book.fxml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/addmember/MemberAddController.class b/out/production/Library-Assistant/library/assistant/ui/addmember/MemberAddController.class new file mode 100644 index 0000000..834bc38 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/addmember/MemberAddController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/addmember/MemberAddLoader.class b/out/production/Library-Assistant/library/assistant/ui/addmember/MemberAddLoader.class new file mode 100644 index 0000000..125d9cb Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/addmember/MemberAddLoader.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/addmember/member_add.fxml b/out/production/Library-Assistant/library/assistant/ui/addmember/member_add.fxml new file mode 100644 index 0000000..b76c9f0 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/addmember/member_add.fxml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/callback/BookReturnCallback.class b/out/production/Library-Assistant/library/assistant/ui/callback/BookReturnCallback.class new file mode 100644 index 0000000..cb72327 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/callback/BookReturnCallback.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/add_book.png b/out/production/Library-Assistant/library/assistant/ui/icons/add_book.png new file mode 100644 index 0000000..5d02573 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/add_book.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/add_mem.png b/out/production/Library-Assistant/library/assistant/ui/icons/add_mem.png new file mode 100644 index 0000000..ca85742 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/add_mem.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/book_1.png b/out/production/Library-Assistant/library/assistant/ui/icons/book_1.png new file mode 100644 index 0000000..2942f7e Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/book_1.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/book_2.png b/out/production/Library-Assistant/library/assistant/ui/icons/book_2.png new file mode 100644 index 0000000..938eff4 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/book_2.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/issue.png b/out/production/Library-Assistant/library/assistant/ui/icons/issue.png new file mode 100644 index 0000000..494c495 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/issue.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/issued.png b/out/production/Library-Assistant/library/assistant/ui/icons/issued.png new file mode 100644 index 0000000..59c2311 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/issued.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/list_book.png b/out/production/Library-Assistant/library/assistant/ui/icons/list_book.png new file mode 100644 index 0000000..90591cc Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/list_book.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/list_mem.png b/out/production/Library-Assistant/library/assistant/ui/icons/list_mem.png new file mode 100644 index 0000000..7560f62 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/list_mem.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/member.png b/out/production/Library-Assistant/library/assistant/ui/icons/member.png new file mode 100644 index 0000000..9717ab4 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/member.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/renew.png b/out/production/Library-Assistant/library/assistant/ui/icons/renew.png new file mode 100644 index 0000000..77db517 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/renew.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/return.png b/out/production/Library-Assistant/library/assistant/ui/icons/return.png new file mode 100644 index 0000000..82dc1e2 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/return.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/search.png b/out/production/Library-Assistant/library/assistant/ui/icons/search.png new file mode 100644 index 0000000..21be572 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/search.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/icons/settings.png b/out/production/Library-Assistant/library/assistant/ui/icons/settings.png new file mode 100644 index 0000000..476d5c9 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/icons/settings.png differ diff --git a/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListController$IssueInfo.class b/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListController$IssueInfo.class new file mode 100644 index 0000000..71daa94 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListController$IssueInfo.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListController.class b/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListController.class new file mode 100644 index 0000000..2b5cfcf Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListLoader.class b/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListLoader.class new file mode 100644 index 0000000..fe3c9ce Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/issuedlist/IssuedListLoader.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/issuedlist/issued_list.fxml b/out/production/Library-Assistant/library/assistant/ui/issuedlist/issued_list.fxml new file mode 100644 index 0000000..637e913 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/issuedlist/issued_list.fxml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/listbook/BookListController$Book.class b/out/production/Library-Assistant/library/assistant/ui/listbook/BookListController$Book.class new file mode 100644 index 0000000..bc4da60 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/listbook/BookListController$Book.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/listbook/BookListController.class b/out/production/Library-Assistant/library/assistant/ui/listbook/BookListController.class new file mode 100644 index 0000000..76ba649 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/listbook/BookListController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/listbook/BookListLoader.class b/out/production/Library-Assistant/library/assistant/ui/listbook/BookListLoader.class new file mode 100644 index 0000000..0d0150c Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/listbook/BookListLoader.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/listbook/book_list.fxml b/out/production/Library-Assistant/library/assistant/ui/listbook/book_list.fxml new file mode 100644 index 0000000..26c8726 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/listbook/book_list.fxml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListController$Member.class b/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListController$Member.class new file mode 100644 index 0000000..896fa66 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListController$Member.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListController.class b/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListController.class new file mode 100644 index 0000000..9179a4f Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListLoader.class b/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListLoader.class new file mode 100644 index 0000000..1c1f3a5 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/listmember/MemberListLoader.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/listmember/member_list.fxml b/out/production/Library-Assistant/library/assistant/ui/listmember/member_list.fxml new file mode 100644 index 0000000..ff64f17 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/listmember/member_list.fxml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/login/LoginController.class b/out/production/Library-Assistant/library/assistant/ui/login/LoginController.class new file mode 100644 index 0000000..8415260 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/login/LoginController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/login/login.fxml b/out/production/Library-Assistant/library/assistant/ui/login/login.fxml new file mode 100644 index 0000000..0b72af5 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/login/login.fxml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/mail/TestMailController.class b/out/production/Library-Assistant/library/assistant/ui/mail/TestMailController.class new file mode 100644 index 0000000..7cbdfe5 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/mail/TestMailController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/mail/test_mail.fxml b/out/production/Library-Assistant/library/assistant/ui/mail/test_mail.fxml new file mode 100644 index 0000000..bd7919b --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/mail/test_mail.fxml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/main/Main$1.class b/out/production/Library-Assistant/library/assistant/ui/main/Main$1.class new file mode 100644 index 0000000..0b4d148 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/main/Main$1.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/main/Main.class b/out/production/Library-Assistant/library/assistant/ui/main/Main.class new file mode 100644 index 0000000..5988f4c Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/main/Main.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/main/MainController.class b/out/production/Library-Assistant/library/assistant/ui/main/MainController.class new file mode 100644 index 0000000..480555e Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/main/MainController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/main/main.fxml b/out/production/Library-Assistant/library/assistant/ui/main/main.fxml new file mode 100644 index 0000000..9ba77ad --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/main/main.fxml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
diff --git a/out/production/Library-Assistant/library/assistant/ui/main/toolbar/ToolbarController.class b/out/production/Library-Assistant/library/assistant/ui/main/toolbar/ToolbarController.class new file mode 100644 index 0000000..fffe29e Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/main/toolbar/ToolbarController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/main/toolbar/toolbar.fxml b/out/production/Library-Assistant/library/assistant/ui/main/toolbar/toolbar.fxml new file mode 100644 index 0000000..63ff0f7 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/main/toolbar/toolbar.fxml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/NotificationItem.class b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/NotificationItem.class new file mode 100644 index 0000000..e4edf00 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/NotificationItem.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationController$NotificationControlCellValueFactory.class b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationController$NotificationControlCellValueFactory.class new file mode 100644 index 0000000..b499761 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationController$NotificationControlCellValueFactory.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationController.class b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationController.class new file mode 100644 index 0000000..0f793a1 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationLoader.class b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationLoader.class new file mode 100644 index 0000000..2aff109 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/OverdueNotificationLoader.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/EmailSenderController$EmailSenderHelper.class b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/EmailSenderController$EmailSenderHelper.class new file mode 100644 index 0000000..0577b1e Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/EmailSenderController$EmailSenderHelper.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/EmailSenderController.class b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/EmailSenderController.class new file mode 100644 index 0000000..26abadd Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/EmailSenderController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/email_sender.fxml b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/email_sender.fxml new file mode 100644 index 0000000..7acf968 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/emailsender/email_sender.fxml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/notifoverdue/overdue_notification.fxml b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/overdue_notification.fxml new file mode 100644 index 0000000..2250cb3 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/notifoverdue/overdue_notification.fxml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/ui/settings/Preferences.class b/out/production/Library-Assistant/library/assistant/ui/settings/Preferences.class new file mode 100644 index 0000000..847341e Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/settings/Preferences.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/settings/SettingsController.class b/out/production/Library-Assistant/library/assistant/ui/settings/SettingsController.class new file mode 100644 index 0000000..f07a659 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/settings/SettingsController.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/settings/SettingsLoader.class b/out/production/Library-Assistant/library/assistant/ui/settings/SettingsLoader.class new file mode 100644 index 0000000..6ae82e8 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/ui/settings/SettingsLoader.class differ diff --git a/out/production/Library-Assistant/library/assistant/ui/settings/settings.fxml b/out/production/Library-Assistant/library/assistant/ui/settings/settings.fxml new file mode 100644 index 0000000..6b612c4 --- /dev/null +++ b/out/production/Library-Assistant/library/assistant/ui/settings/settings.fxml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Library-Assistant/library/assistant/util/LibraryAssistantUtil.class b/out/production/Library-Assistant/library/assistant/util/LibraryAssistantUtil.class new file mode 100644 index 0000000..243eb49 Binary files /dev/null and b/out/production/Library-Assistant/library/assistant/util/LibraryAssistantUtil.class differ diff --git a/out/production/Library-Assistant/log4j2.xml b/out/production/Library-Assistant/log4j2.xml new file mode 100644 index 0000000..100ccac --- /dev/null +++ b/out/production/Library-Assistant/log4j2.xml @@ -0,0 +1,25 @@ + + + + + + + + + %d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + + l̥ + \ No newline at end of file diff --git a/out/production/Library-Assistant/resources/dark-theme.css b/out/production/Library-Assistant/resources/dark-theme.css new file mode 100644 index 0000000..347b1ad --- /dev/null +++ b/out/production/Library-Assistant/resources/dark-theme.css @@ -0,0 +1,363 @@ +/* + Created on : 11 Nov, 2017, 4:42:53 AM + Author : afsal villan +*/ + +* { + -fx-primary : #2A2E37; + -fx-secondary : #FFFF8D; + -fx-primarytext : #B2B2B2; + -fx-blue: #1976D2; + -fx-red: #FF0000; + -fx-color-1:#1976D2; +} + +.root{ + -fx-background-color: -fx-primary; +} + +.glyph-icon +{ + -fx-fill: -fx-primarytext; +} + +.button{ + -fx-text-fill: -fx-primarytext; + -fx-background-color: -fx-primary; + -fx-border-color: -fx-secondary; + -fx-border-radius: 20px; + -fx-background-radius: 20px; + -fx-font-size: 12pt; +} + +.button:hover, .button:focused{ + -fx-border-color: -fx-secondary; + -fx-background-color: -fx-secondary; + -fx-text-fill: -fx-primary; +} + +.text-field +{ + -fx-text-fill: -fx-primarytext; + -fx-font-size : 12pt; + -jfx-focus-color: -fx-secondary; + -fx-text-fill: derive(-fx-secondary, 20%); +} + +/*Login Screen Specific*/ + + +.wrong-credentials +{ + -jfx-unfocus-color: #ef5350; + -jfx-focus-color: #ef5350; +} + +/*Main Screen CSS Styling starts here*/ + +/*TablPane styling*/ +.tab{ + -fx-background-color: -fx-primary; +} + +.tab-header-background{ + -fx-background-color: -fx-primary; +} + +.tab-label{ + -fx-text-fill: -fx-secondary; + -fx-font-size: 10pt; +} + + +.tab-main{ + -fx-pref-height : 60; + -fx-max-height : 60; +} + +.settings-tab{ + -fx-background-color: derive(-fx-primary, 10%); + -fx-padding: 5px 20px 5px 20px; +} + +.settings-tab:selected{ + -fx-background-color: -fx-secondary; +} + +.settings-tab:selected .tab-label{ + -fx-text-fill: -fx-primary; +} + +.settings-tab .tab-header-background{ + -fx-background-color: derive(-fx-primary, -50%); +} + +/*Menu bar Styling*/ +.menu-bar{ + -fx-font-size: 14; + -fx-base : -fx-primary; + -fx-background-color: -fx-primary; +} + +.context-menu { + -fx-background-color: derive(-fx-primary, 20%); + -fx-font-size: 14; + -fx-min-width: 150px; +} + +/*Hamburger Styling*/ +.jfx-hamburger-icon{ + -fx-spacing: 7; +} + +.jfx-hamburger-icon StackPane +{ + -fx-background-color: -fx-secondary; + -fx-background-radius: 5px; +} + +/*Toolbar buttons*/ +.toolbar-button +{ + -fx-border-color: transparent; + -fx-background-color: derive(-fx-primary, 10%); + -fx-background-radius: 0px; + -fx-border-radius: 0px; +} +.toolbar-button:hover +{ + -fx-background-color: -fx-secondary; + -fx-text-fill: -fx-primary; +} + +.toolbar-button:hover .glyph-icon, .toolbar-button:hover .glyph-icon +{ + -fx-fill: -fx-primary; +} + +/*Text styling*/ +.main-text +{ + -fx-fill: -fx-secondary; + -fx-font-size: 14pt; + -fx-text-alignment: center; +} + +.submission-container{ + -fx-background-color: derive(-fx-primary, 10%); +} + +/*Dialog styling*/ +.dialog-button{ + -fx-border-color: -fx-color-1; + -fx-text-fill: white; + -fx-border-radius: 1px; + -fx-background-radius: 3px; +} + +.dialog-button:hover{ + -fx-background-color: -fx-color-1; + -fx-border-color: derive(-fx-color-1, -20%); + -fx-text-fill: white; +} + +.jfx-layout-actions +{ + -fx-hgap:8; +} + +/*Chart Styling*/ +.data0.chart-pie{ + -fx-pie-color: -fx-secondary; + -fx-border-color: derive(-fx-secondary, -30%); +} +.data1.chart-pie{ + -fx-pie-color: derive(-fx-primary, 30%); + -fx-border-color: derive(-fx-primary, 30%); +} +.chart-pie-label +{ + -fx-fill : derive(-fx-secondary, -5%); +} + +/*About window*/ +.about-text{ + -fx-fill: -fx-secondary; +} + +.about-button{ + -fx-border-color: transparent; +} + +/*Custom window background*/ +.custom-pane{ + -fx-background-color: derive(-fx-primary, 5%); +} + +/*TableView Default*/ +.table-view{ + -fx-background-color: derive(-fx-primary, 10%); + -fx-font-size: 16px; + -fx-border-color: derive(-fx-secondary, -60%); +} +.table-view:focused{ + -fx-background-color: derive(-fx-primary, 20%); +} +.table-row-cell { + -fx-cell-size: 40px; +} +.table-view .column-header-background{ + -fx-background-color: -fx-primary; +} +.table-view .column-header-background .label{ + -fx-background-color: transparent; + -fx-text-fill: white; +} +.table-view .column-header { + -fx-background-color: transparent; +} +.table-view .table-cell{ + -fx-text-fill: white; +} +.table-row-cell:focused, .table-cell:focused{ + -fx-text-fill: -fx-primary; +} +.table-row-cell{ + -fx-background-color: -fx-primary; + -fx-border-color: transparent; + -fx-table-cell-border-color: transparent; +} +.table-column{ + -fx-alignment: CENTER; +} +.table-row-cell:even{ + -fx-background-color: derive(-fx-primary, 10%); +} +.table-row-cell:selected { + -fx-background-color: -fx-secondary; + -fx-text-fill: -fx-primary; + -fx-background-insets: 0; +} +.table-row-cell:selected .table-cell{ + -fx-text-fill: -fx-primary; +} +.placeholder .label{ + -fx-text-fill: white; +} +.table-view > .virtual-flow > .scroll-bar:vertical, +.table-view > .virtual-flow > .scroll-bar:vertical > .track, +.table-view > .virtual-flow > .scroll-bar:vertical > .track-background, +.table-view > .virtual-flow > .scroll-bar:horizontal, +.table-view > .virtual-flow > .scroll-bar:horizontal > .track, +.table-view > .virtual-flow > .scroll-bar:horizontal > .track-background { + -fx-background-color: transparent; +} +.table-view > .virtual-flow > .scroll-bar > .increment-button, +.table-view > .virtual-flow > .scroll-bar > .decrement-button { + -fx-text-fill: white; +} +.scroll-bar:horizontal .thumb, +.scroll-bar:vertical .thumb{ + -fx-background-color: derive(-fx-primary, 60%); + -fx-border-color: transparent; + -fx-background-radius: 5em; +} +.table-view .filler{ + -fx-fill: -fx-primary; + -fx-background-color: -fx-primary; +} +.table-context +{ + -fx-base: -fx-primary; +} + + +/*JFXDialog styling*/ +.jfx-layout-heading +{ + -fx-background-color: -fx-color-1; +} +.jfx-layout-heading .label +{ + -fx-text-fill: white; + -fx-font-size: 12pt; +} +.jfx-layout-body, .jfx-layout-actions{ + -fx-background-color: -fx-primary; +} +.jfx-layout-body .label +{ + -fx-text-fill: white; + -fx-padding: 20px 0 0 0; +} + + +/*Dashboard label*/ +.not-available +{ + -fx-background-radius: 5px; + -fx-fill: derive(blue, 80%); + -fx-cursor: hand; +} + +/*Checkbox*/ + +.checkbox-main{ + -fx-text-fill: -fx-secondary; + -jfx-checked-color: -fx-primary; + -fx-font-size: 10pt; +} + +/*Progrss bar*/ + +.progress-bar-main .track{ + -fx-background-color: -fx-primary; +} +.progress-bar-main .bar{ + -fx-background-color: -fx-secondary; + -fx-padding: 5px; +} + +.common-label{ + -fx-background-color: transparent; + -fx-text-fill: -fx-secondary; + -fx-font-size: 12pt; +} + +/*Alert Dialog*/ + +.custom-alert{ + -fx-background-color: -fx-primary; + -fx-text-fill: white; +} +.custom-alert > *.button-bar > *.container{ + -fx-background-color: -fx-primary; +} +.custom-alert > *.label.content{ + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: white; +} +.custom-alert:header *.header-panel{ + -fx-background-color: -fx-blue; +} +.custom-alert:header .header-panel .label { + -fx-font-style: normal; + -fx-text-fill: white; +} +.custom-alert:header *.header-panel *.label{ + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: -fx-primary; +} + +/* Context menu */ + +.colored-context-menu .menu-item:focused { + -fx-background-color: -fx-secondary; + -fx-text-fill: black; +} + +.colored-context-menu .menu-item:focused .label { + -fx-text-fill: black; +} \ No newline at end of file diff --git a/out/production/Library-Assistant/resources/database/tables.xml b/out/production/Library-Assistant/resources/database/tables.xml new file mode 100644 index 0000000..bec8fb1 --- /dev/null +++ b/out/production/Library-Assistant/resources/database/tables.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/out/production/Library-Assistant/resources/gc.png b/out/production/Library-Assistant/resources/gc.png new file mode 100644 index 0000000..cd7c7db Binary files /dev/null and b/out/production/Library-Assistant/resources/gc.png differ diff --git a/out/production/Library-Assistant/resources/icon.ico b/out/production/Library-Assistant/resources/icon.ico new file mode 100644 index 0000000..1e84b78 Binary files /dev/null and b/out/production/Library-Assistant/resources/icon.ico differ diff --git a/out/production/Library-Assistant/resources/icon.png b/out/production/Library-Assistant/resources/icon.png new file mode 100644 index 0000000..d7e9cb1 Binary files /dev/null and b/out/production/Library-Assistant/resources/icon.png differ diff --git a/out/production/Library-Assistant/resources/mail_content.html b/out/production/Library-Assistant/resources/mail_content.html new file mode 100644 index 0000000..c18ed39 --- /dev/null +++ b/out/production/Library-Assistant/resources/mail_content.html @@ -0,0 +1,33 @@ + + +
+

Library Assistant Overdue Reminder

+
+
+
Report Date
+
%s
+
+
+
Book Name
+
%s
+
+
+
Issue Date
+
%s
+
+
+
Days used
+
%d
+
+
+
Fine per day
+
%s
+
+
+
Fine amount
+
%s
+
+
+
+ \ No newline at end of file diff --git a/src/library/assistant/ui/addbook/BookAddController.java b/src/library/assistant/ui/addbook/BookAddController.java index 925cc1c..f4876b7 100644 --- a/src/library/assistant/ui/addbook/BookAddController.java +++ b/src/library/assistant/ui/addbook/BookAddController.java @@ -1,7 +1,12 @@ package library.assistant.ui.addbook; +import be.quodlibet.boxable.Row; import com.jfoenix.controls.JFXButton; import com.jfoenix.controls.JFXTextField; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; import java.net.URL; import java.sql.ResultSet; import java.sql.SQLException; @@ -14,6 +19,7 @@ import javafx.fxml.Initializable; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.StackPane; +import javafx.stage.FileChooser; import javafx.stage.Stage; import library.assistant.alert.AlertMaker; import library.assistant.data.model.Book; @@ -21,6 +27,11 @@ import library.assistant.database.DatabaseHandler; import library.assistant.ui.listbook.BookListController; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.DataFormatter; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; public class BookAddController implements Initializable { @@ -33,6 +44,8 @@ public class BookAddController implements Initializable { @FXML private JFXTextField publisher; @FXML + private JFXTextField location; + @FXML private JFXButton saveButton; @FXML private JFXButton cancelButton; @@ -80,6 +93,66 @@ private void addBook(ActionEvent event) { AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Failed to add new book", "Check all the entries and try again"); } } + + @FXML + private void selectBookFile(ActionEvent event) { + FileChooser fc=new FileChooser(); + File selectedFile=fc.showOpenDialog(null); + if(selectedFile!=null) + location.setText(selectedFile.getAbsolutePath()); + } + + @FXML + private void selectBook(ActionEvent event) { + + FileInputStream filein=null; + try { + String x; + x=location.getText(); + filein = new FileInputStream(new File(x)); + XSSFWorkbook wb = new XSSFWorkbook(filein); + + XSSFSheet sheet=wb.getSheetAt(0); + XSSFRow row; + for(int i=1;i<=sheet.getLastRowNum();i++) + { + + row=sheet.getRow(i); + DataFormatter formatter=new DataFormatter(); + + String bookID = formatter.formatCellValue(row.getCell(0)); + String bookAuthor = row.getCell(1).getStringCellValue(); + String bookName = row.getCell(2).getStringCellValue(); + String bookPublisher = row.getCell(3).getStringCellValue(); + +if (bookID.isEmpty() || bookAuthor.isEmpty() || bookName.isEmpty()) { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Insufficient Data", "Please enter data in all fields."); + continue; +} +if (DataHelper.isBookExists(bookID)) { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Duplicate book id", "Book with same Book ID exists.\nPlease use new ID"); + continue; +} + +Book book = new Book(bookID, bookName, bookAuthor, bookPublisher, Boolean.TRUE); +boolean result = DataHelper.insertNewBook(book); +if (result) { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "New book added", bookName + " has been added"); +} else { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Failed to add new book", "Check all the entries and try again"); +return; +} + } + } catch (Exception ex) { + Logger.getLogger(BookAddController.class.getName()).log(Level.SEVERE, null, ex); + } finally { + try { + filein.close(); + } catch (IOException ex) { + Logger.getLogger(BookAddController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } @FXML private void cancel(ActionEvent event) { diff --git a/src/library/assistant/ui/addbook/add_book_from_csv.fxml b/src/library/assistant/ui/addbook/add_book_from_csv.fxml new file mode 100644 index 0000000..f9fc49e --- /dev/null +++ b/src/library/assistant/ui/addbook/add_book_from_csv.fxml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/library/assistant/ui/addmember/MemberAddController.java b/src/library/assistant/ui/addmember/MemberAddController.java index da79732..d2b8823 100644 --- a/src/library/assistant/ui/addmember/MemberAddController.java +++ b/src/library/assistant/ui/addmember/MemberAddController.java @@ -2,14 +2,20 @@ import com.jfoenix.controls.JFXButton; import com.jfoenix.controls.JFXTextField; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.net.URL; import java.util.ArrayList; import java.util.ResourceBundle; +import java.util.logging.Level; +import java.util.logging.Logger; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.StackPane; +import javafx.stage.FileChooser; import javafx.stage.Stage; import library.assistant.alert.AlertMaker; import library.assistant.database.DataHelper; @@ -17,6 +23,10 @@ import library.assistant.ui.listmember.MemberListController; import library.assistant.ui.listmember.MemberListController.Member; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.DataFormatter; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class MemberAddController implements Initializable { @@ -31,9 +41,14 @@ public class MemberAddController implements Initializable { @FXML private JFXTextField email; @FXML + private JFXTextField location; + @FXML private JFXButton saveButton; @FXML private JFXButton cancelButton; + + @FXML + private JFXButton selectButton; private Boolean isInEditMode = false; @FXML @@ -84,7 +99,58 @@ private void addMember(ActionEvent event) { AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Failed to add new member", "Check you entries and try again."); } } - + @FXML + private void selectMemberFile(ActionEvent event) { + FileChooser fc=new FileChooser(); + File selectedFile=fc.showOpenDialog(null); + if(selectedFile!=null) + location.setText(selectedFile.getAbsolutePath()); + } + @FXML + private void addMemberFromCSV(ActionEvent event) { + try { + FileInputStream filein=null; + String x; + x=location.getText(); + filein = new FileInputStream(new File(x)); + XSSFWorkbook wb = new XSSFWorkbook(filein); + + XSSFSheet sheet=wb.getSheetAt(0); + XSSFRow row; + for(int i=1;i<=sheet.getLastRowNum();i++) + { + + row=sheet.getRow(i); + DataFormatter formatter=new DataFormatter(); + + String mName =row.getCell(0).getStringCellValue();; + String mID = formatter.formatCellValue(row.getCell(1)); + String mMobile = formatter.formatCellValue(row.getCell(2)); + String mEmail = row.getCell(3).getStringCellValue(); + + + Boolean flag = mName.isEmpty() || mID.isEmpty() || mMobile.isEmpty() || mEmail.isEmpty(); + if (flag) { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Insufficient Data", "Please enter data in all fields."); + continue; + } + + if (DataHelper.isMemberExists(mID)) { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Duplicate member id", "Member with same id exists.\nPlease use new ID"); + continue; + } + + Member member = new Member(mName, mID, mMobile, mEmail); + boolean result = DataHelper.insertNewMember(member); + if (result) { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "New member added", mName + " has been added"); + } else { + AlertMaker.showMaterialDialog(rootPane, mainContainer, new ArrayList<>(), "Failed to add new member", "Check you entries and try again."); + } + } + } catch (Exception ex) { + Logger.getLogger(MemberAddController.class.getName()).log(Level.SEVERE, null, ex); + }} public void infalteUI(MemberListController.Member member) { name.setText(member.getName()); id.setText(member.getId()); diff --git a/src/library/assistant/ui/addmember/member_add_from_csv.fxml b/src/library/assistant/ui/addmember/member_add_from_csv.fxml new file mode 100644 index 0000000..0e60722 --- /dev/null +++ b/src/library/assistant/ui/addmember/member_add_from_csv.fxml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/library/assistant/ui/main/MainController.java b/src/library/assistant/ui/main/MainController.java index 50b0fff..e6b5522 100644 --- a/src/library/assistant/ui/main/MainController.java +++ b/src/library/assistant/ui/main/MainController.java @@ -397,6 +397,16 @@ private void handleMenuClose(ActionEvent event) { private void handleMenuAddBook(ActionEvent event) { LibraryAssistantUtil.loadWindow(getClass().getResource("/library/assistant/ui/addbook/add_book.fxml"), "Add New Book", null); } + @FXML + private void handleMenuAddBookFromCSV(ActionEvent event) { + LibraryAssistantUtil.loadWindow(getClass().getResource("/library/assistant/ui/addbook/add_book_from_csv.fxml"), "Import Books from Excel", null); + } + @FXML + private void handleMenuAddMemberFromCSV(ActionEvent event) { + LibraryAssistantUtil.loadWindow(getClass().getResource("/library/assistant/ui/addmember/member_add_from_csv.fxml"), "Import Members from Excel", null); + } + + @FXML private void handleMenuAddMember(ActionEvent event) { diff --git a/src/library/assistant/ui/main/main.fxml b/src/library/assistant/ui/main/main.fxml index 9ba77ad..a99245c 100644 --- a/src/library/assistant/ui/main/main.fxml +++ b/src/library/assistant/ui/main/main.fxml @@ -231,6 +231,8 @@ + +