Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
8771ae6
teszt commit
Nov 20, 2019
a868bc7
gitignore updates
Nov 20, 2019
da00147
menü teszt1
Nov 20, 2019
9883391
bugfix
Nov 20, 2019
554ec7d
menu event listener
Nov 20, 2019
efa3e07
extjs menu
Nov 20, 2019
badd191
missing parenthesis
Nov 20, 2019
56bbec8
na most
Nov 20, 2019
4f779cc
bugfix
Nov 20, 2019
b89db94
added styles.css include to templates
Nov 20, 2019
7424f2b
permit all
szteven Nov 29, 2019
7256153
Infinite recursion fix
szteven Nov 30, 2019
b353774
App menu template based on responsive example
szteven Nov 30, 2019
50f3c93
Cleanup + rename
szteven Nov 30, 2019
e057d75
Infinite recursion fix
szteven Nov 30, 2019
5b2f70b
Deleted stuff in /target
szteven Dec 8, 2019
d56421d
.gitignore
szteven Dec 8, 2019
fd65d7c
Deleted stuff in /target
szteven Dec 8, 2019
6a5d302
.gitignore
szteven Dec 8, 2019
7423fe0
Merge branch 'develop' of github.com:szteven/bugtracker into develop
szteven Dec 8, 2019
5a2133a
Project list added to menu
szteven Dec 8, 2019
97016f5
Added grid flex to column layout
szteven Dec 8, 2019
3935d74
page content loader functions added
szteven Dec 8, 2019
33618ef
Create new project
szteven Dec 8, 2019
a6a14c7
Revert "permit all"
szteven Dec 8, 2019
17ad5d9
Default size & padding for new project dialog
szteven Dec 8, 2019
bf44a93
Set successful login to load /main
szteven Dec 8, 2019
66cc378
Bug picture
szteven Dec 8, 2019
155b6eb
Buggy login page :P
szteven Dec 8, 2019
746ccf6
Logout menu
szteven Dec 8, 2019
53a9d9f
Removed unused css include
szteven Dec 9, 2019
f2fcdff
Project details dialog
szteven Dec 9, 2019
f7a9619
Role based menu generation
szteven Dec 9, 2019
1d4746a
Role based menu generation revamp
szteven Dec 9, 2019
af69a2f
Moved all project related functions to projects.js
szteven Dec 9, 2019
9b40a71
Dead code cleanup
szteven Dec 9, 2019
44a87de
s1, s2, s3 localDateTime -> long. We have to store hours or minutes n…
ZombieDroid Dec 3, 2019
e80e945
Changed datetime to number spinners
szteven Dec 9, 2019
dceb3c6
Removed time related unused functions
szteven Dec 9, 2019
e4dcd47
Fixed dialogs behaviour
szteven Dec 9, 2019
91be280
Fixed search panel looks
szteven Dec 9, 2019
270c3a2
Search on enter keypress
szteven Dec 9, 2019
d45bd0d
Search reset button
szteven Dec 9, 2019
51e2fea
Bug icon for menu header
szteven Dec 9, 2019
bfb8f05
Variable rename to avoid conflict
szteven Dec 9, 2019
10d86dd
Implemented users list view
szteven Dec 9, 2019
feeb441
New user & user update
szteven Dec 9, 2019
683646c
Fancied up login page
szteven Dec 9, 2019
440e052
Merge remote-tracking branch 'upstream/develop' into develop
szteven Dec 9, 2019
18c1790
Merge branch 'develop' into BT-21-new
szteven Dec 9, 2019
d3482c0
Ticket list
szteven Dec 9, 2019
6dff211
Added missing title to new user window
szteven Dec 9, 2019
b7729f3
New ticket & ticket update
szteven Dec 9, 2019
567c075
Implemented users search by name in the backend
szteven Dec 9, 2019
2990db5
User search functionality in the frontend
szteven Dec 9, 2019
cd10f67
Cleaned unused date related stuff
szteven Dec 9, 2019
c3190c9
Merge pull request #14 from szteven/BT-21-new
ZombieDroid Dec 9, 2019
e226996
modify history entity, add history entity when project created
ZombieDroid Dec 9, 2019
e1c6623
Merge pull request #15 from ZombieDroid/BT-26
ZombieDroid Dec 9, 2019
686738e
Fixed user update
szteven Dec 11, 2019
a8178b6
Added licensing & copyright info for the CSS file
szteven Dec 9, 2019
280bc3f
Implemented user delete/restore
szteven Dec 12, 2019
59aa1ed
Email validation
szteven Dec 12, 2019
727e4e0
Merge pull request #16 from szteven/BT-21
ZombieDroid Dec 14, 2019
3a7757c
fixes owner and other bugs
ZombieDroid Dec 14, 2019
41f619b
Log time on tickets
rmfcnb Dec 14, 2019
a003634
Merge branch 'BT-21' into BT-21-fix
rmfcnb Dec 15, 2019
7bbfc60
Merge pull request #18 from ZombieDroid/BT-21-fix
rmfcnb Dec 15, 2019
ea5481d
Ticket creation time
rmfcnb Dec 15, 2019
686560c
History view (?)
szteven Dec 15, 2019
34b3242
Comment backend stuff
szteven Dec 15, 2019
42dd1ec
Table name change comment -> komment
szteven Dec 15, 2019
aaddc85
Fixed main page title
szteven Dec 15, 2019
71daa46
Added userName to CommentEntity
szteven Dec 16, 2019
aad56f4
Info on current user
szteven Dec 16, 2019
1a294ef
Implemented comment function
szteven Dec 16, 2019
97d6f7b
Fixed date and input limit
szteven Dec 16, 2019
c40d530
Merge branch 'comment-new' into BT-21
szteven Dec 16, 2019
7f9711a
Comment message gets sent also on pressing <ENTER>
szteven Dec 16, 2019
ee3a7c7
Project details window adjustments
szteven Dec 16, 2019
d62976e
Sorry, a little comma got lost :P
szteven Dec 16, 2019
c7da9b7
Soft delete bugfix, no login for deleted user
szteven Dec 16, 2019
912bd5e
Ticket update bugfix
szteven Dec 16, 2019
0fd5966
Bugfixes (update and create ticket)
szteven Dec 16, 2019
3103db7
Reduced new ticket window size
szteven Dec 16, 2019
0def6ad
show history function, remove getters and setters because of the lombok
ZombieDroid Dec 16, 2019
a47a9dc
Merge pull request #20 from ZombieDroid/BT-36
rmfcnb Dec 16, 2019
f6016c4
Merge branch 'BT-21' into BT-21
ZombieDroid Dec 16, 2019
8e86296
Merge pull request #19 from szteven/BT-21
ZombieDroid Dec 16, 2019
72d20a8
fix merge issue
ZombieDroid Dec 16, 2019
47092b5
Merge pull request #22 from ZombieDroid/bt-21-fix-12.16
ZombieDroid Dec 16, 2019
1cd84dc
Statistics
rmfcnb Dec 16, 2019
e3febac
fix unusedVariable issue
ZombieDroid Dec 16, 2019
098b32c
Solved content overflow issue
szteven Dec 17, 2019
828d510
Merge pull request #23 from szteven/BT-21
ZombieDroid Dec 17, 2019
04c6df6
- sos added history features
atesztoth Dec 17, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bugtracker/target/
19 changes: 18 additions & 1 deletion bugtracker/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,21 @@ $RECYCLE.BIN/
*.DS_Store
*.iml
target
../.idea
../.idea

# Eclipse
.classpath
.project
.settings/

# Intellij
.idea/
*.iml
*.iws

# Mac
.DS_Store

# Maven
log/
target/
123 changes: 123 additions & 0 deletions bugtracker/bugtracker.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-thymeleaf:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.10.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.10.0" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.19" level="project" />
<orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf-spring5:3.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf:3.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.attoparser:attoparser:2.0.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.unbescape:unbescape:1.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
<orderEntry type="library" name="Maven: org.thymeleaf.extras:thymeleaf-extras-java8time:3.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.5" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.5" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.29" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.29" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.29" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.9.Final" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.13" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:2.7.8" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:2.0.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.0.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-orm:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aspects:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.0.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.0.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.0.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.46" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:2.9.5" level="project" />
<orderEntry type="library" name="Maven: javax.transaction:jta:1.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.5" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.5" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.0.1.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.0.1.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.0.1.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.9.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.15.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.7.11" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.0.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.5.1" level="project" />
<orderEntry type="library" name="Maven: com.oracle:ojdbc6:11.2.0.3" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.3.12.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
<orderEntry type="library" name="Maven: javax.persistence:javax.persistence-api:2.2" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.23.2-GA" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.7.11" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss:jandex:2.0.5.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.1" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.0.4.Final" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.0" level="project" />
<orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.1" level="project" />
<orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.1" level="project" />
<orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.7" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.staxex:stax-ex:1.8" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.fastinfoset:FastInfoset:1.2.15" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.ejb:ejb-api:3.0" level="project" />
</component>
</module>
16 changes: 0 additions & 16 deletions bugtracker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
<artifactId>hibernate-core</artifactId>
<version>5.3.12.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.12.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
Expand All @@ -96,12 +86,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.12.Final</version>
</dependency>

</dependencies>

<repositories>
Expand Down
6 changes: 5 additions & 1 deletion bugtracker/src/main/java/bugtracker/MvcConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
public class MvcConfig implements WebMvcConfigurer {
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("login");
registry.addViewController("/home").setViewName("hello");
registry.addViewController("/home").setViewName("main");
registry.addViewController("/main").setViewName("main");
registry.addViewController("/login").setViewName("login");
registry.addViewController("/ticket/all").setViewName("tickets");
registry.addViewController("/ticket").setViewName("ticket");
Expand Down Expand Up @@ -40,5 +41,8 @@ public void addCorsMappings(CorsRegistry registry) {
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
registry.addResourceHandler("/css/**").addResourceLocations("classpath:/static/css/");
registry.addResourceHandler("/js/**").addResourceLocations("classpath:/static/js/");
registry.addResourceHandler("/img/**").addResourceLocations("classpath:/static/img/");
}
}
39 changes: 20 additions & 19 deletions bugtracker/src/main/java/bugtracker/SecurityConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,31 +32,32 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {



httpSecurity.authorizeRequests()
.antMatchers("/login*").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/user/new").access(" hasRole('ROLE_ADMIN')")
.antMatchers("/user/all*").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/user/modify*").access("hasRole('ROLE_ADMIN')")
.antMatchers("/project/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/api/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/ticket/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.and()
.csrf().disable()
.formLogin()
.loginPage("/login")
.successForwardUrl("/api/user/dispatch")
.permitAll()
.and()
.logout()
.permitAll();
.antMatchers("/css/**", "/js/**", "/images/**").permitAll()
.antMatchers("/login*").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/user/new").access(" hasRole('ROLE_ADMIN')")
.antMatchers("/user/all*").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/user/modify*").access("hasRole('ROLE_ADMIN')")
.antMatchers("/project/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/api/user/current/**").permitAll()
.antMatchers("/api/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/ticket/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.antMatchers("/comment/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_DEVELOPER') or hasRole('ROLE_APPROVER')")
.and()
.csrf().disable()
.formLogin()
.loginPage("/login")
.successForwardUrl("/api/user/dispatch")
.permitAll()
.and()
.logout()
.permitAll();
httpSecurity.userDetailsService(userService);
}

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService())
auth.userDetailsService(userService)
.passwordEncoder(passwordEncoder());
}

Expand Down
39 changes: 39 additions & 0 deletions bugtracker/src/main/java/bugtracker/comment/CommentController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package bugtracker.comment;

import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import javax.inject.Inject;
import java.util.List;

@RestController
@RequestMapping("/api/comment")
public class CommentController {

@Inject
CommentService commentService;

@RequestMapping(
value = "/create",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE
)
@ResponseBody()
public ResponseEntity addNewComment(@RequestBody CommentEntity commentEntity) {
try {
commentService.createComment(commentEntity);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}
return new ResponseEntity<>(HttpStatus.OK);
}

@GetMapping("/all/{ticketId}")
public ResponseEntity<List<CommentEntity>> getAllByTicketID(@PathVariable Long ticketId) {
return new ResponseEntity<>(commentService.getAllByTicketId(ticketId), HttpStatus.OK);
}
}
70 changes: 70 additions & 0 deletions bugtracker/src/main/java/bugtracker/comment/CommentEntity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package bugtracker.comment;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.time.LocalDateTime;

@Entity
@Table(name = "KOMMENT")
public class CommentEntity {
@Id
@GeneratedValue
private long id;

private long ticketId;
private long userId;

private String commentText;
private String userName;
private LocalDateTime commentTime;

public long getId() {
return id;
}

public long getTicketId() {
return ticketId;
}

public long getUserId() {
return userId;
}

public String getCommentText() {
return commentText;
}

public LocalDateTime getCommentTime() {
return commentTime;
}

public void setId(long id) {
this.id = id;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public void setTicketId(long ticketId) {
this.ticketId = ticketId;
}

public void setUserId(long userId) {
this.userId = userId;
}

public void setCommentText(String commentText) {
this.commentText = commentText;
}

public void setCommentTime(LocalDateTime commentTime) {
this.commentTime = commentTime;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package bugtracker.comment;

import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface CommentRepository extends JpaRepository<CommentEntity, Long> {
List<CommentEntity> findAllByTicketId(Long ticketId);
}
Loading