Revize d8b87a02
Přidáno uživatelem Pavel Fidranský před více než 6 roky(ů)
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/api/GetDiagram.java | ||
---|---|---|
14 | 14 |
|
15 | 15 |
@Override |
16 | 16 |
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { |
17 |
String diagramId = request.getParameter("diagramId");
|
|
17 |
String diagramId = request.getParameter("id");
|
|
18 | 18 |
|
19 | 19 |
if (Strings.isNullOrEmpty(diagramId)) { |
20 | 20 |
response.sendError(HttpServletResponse.SC_BAD_REQUEST); |
... | ... | |
24 | 24 |
DB db = new DB(getServletContext()); |
25 | 25 |
Diagram diagram = new Diagram(db, Integer.parseInt(diagramId)); |
26 | 26 |
|
27 |
JSONObject json = null; |
|
28 |
|
|
29 |
if (diagram.isPublic()) { |
|
30 |
json = new JSONObject(diagram.getDiagram()); |
|
31 |
|
|
32 |
} else { |
|
33 |
if (isLoggedIn(request)) { |
|
34 |
int loggedUserId = getUserId(request); |
|
35 |
|
|
36 |
if (diagram.getUserId() == loggedUserId) { |
|
37 |
json = new JSONObject(diagram.getDiagram()); |
|
38 |
} |
|
39 |
} |
|
40 |
} |
|
41 |
|
|
42 |
if (json == null) { |
|
27 |
if (!diagram.isPublic() && (!isLoggedIn(request) || (isLoggedIn(request) && diagram.getUserId() != getUserId(request)))) { |
|
43 | 28 |
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); |
44 |
} else { |
|
45 |
response.setContentType("application/json"); |
|
46 |
response.setCharacterEncoding("UTF-8"); |
|
47 |
response.setStatus(HttpServletResponse.SC_OK); |
|
48 |
response.getWriter().write(json.toString()); |
|
49 |
response.getWriter().flush(); |
|
29 |
return; |
|
50 | 30 |
} |
31 |
|
|
32 |
JSONObject json = new JSONObject(diagram.getDiagram()); |
|
33 |
|
|
34 |
response.setContentType("application/json"); |
|
35 |
response.setCharacterEncoding("UTF-8"); |
|
36 |
response.setStatus(HttpServletResponse.SC_OK); |
|
37 |
response.getWriter().write(json.toString()); |
|
38 |
response.getWriter().flush(); |
|
51 | 39 |
} |
52 | 40 |
} |
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/api/SaveDiagram.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
int loggedUserId = getUserId(request); |
27 | 27 |
|
28 |
String diagramId = request.getParameter("diagramId");
|
|
28 |
String diagramId = request.getParameter("id");
|
|
29 | 29 |
String name = request.getParameter("name"); |
30 | 30 |
String graphJson = request.getParameter("graphJson"); |
31 | 31 |
String isPublic = request.getParameter("public"); |
sources/src/main/webapp/css/main.css | ||
---|---|---|
11 | 11 |
padding-left: 0; |
12 | 12 |
} |
13 | 13 |
|
14 |
td { |
|
15 |
padding: 0 0.8em; |
|
16 |
line-height: 35px; |
|
17 |
} |
|
18 |
|
|
19 |
form input[type="text"], |
|
20 |
form input[type="password"] { |
|
21 |
width: 150px; |
|
22 |
} |
|
23 |
|
|
24 |
form input[type="checkbox"] { |
|
25 |
margin: 0; |
|
26 |
} |
|
27 |
|
|
14 | 28 |
.hidden { |
15 | 29 |
display: none !important; |
16 | 30 |
} |
... | ... | |
120 | 134 |
line-height: 35px; |
121 | 135 |
} |
122 | 136 |
|
123 |
.header .login_popup td { |
|
124 |
height: 35px; |
|
125 |
} |
|
126 |
.header .login_popup input { |
|
127 |
margin-left: 15px; |
|
128 |
} |
|
129 |
|
|
130 |
.header .login_popup input[type=text], |
|
131 |
.header .login_popup input[type=password] { |
|
132 |
width: 150px; |
|
133 |
} |
|
134 |
|
|
135 | 137 |
/* register popup */ |
136 | 138 |
|
137 | 139 |
.header .register_popup { |
sources/src/main/webapp/js/app.js | ||
---|---|---|
26 | 26 |
/** @prop {Filter} filter */ |
27 | 27 |
this.filter = new Filter; |
28 | 28 |
|
29 |
/** @prop {string} NAME Application name. */ |
|
30 |
this.NAME = document.title; |
|
29 | 31 |
/** @prop {string} HOME_URL Application home URL. */ |
30 | 32 |
this.HOME_URL = null; |
31 | 33 |
/** @prop {object} API Application programming interface paths. */ |
... | ... | |
367 | 369 |
loadGraphDataPromise = $.getJSON(self.API.loadGraphData); |
368 | 370 |
|
369 | 371 |
} else { |
370 |
getDiagramPromise = $.getJSON(self.API.getDiagram + '?diagramId=' + diagramId);
|
|
372 |
getDiagramPromise = $.getJSON(self.API.getDiagram + '?id=' + diagramId);
|
|
371 | 373 |
|
372 | 374 |
loadGraphDataPromise = getDiagramPromise.then(function(data) { |
373 | 375 |
self.diagram = { |
sources/src/main/webapp/showGraph.jsp | ||
---|---|---|
132 | 132 |
<hr class="navbar-separator"> |
133 | 133 |
</li> |
134 | 134 |
<li> |
135 |
<button class="btn" id="applyLayout" title="Apply layout to current graph.">
|
|
135 |
<button class="btn" id="applyLayout" title="Apply layout to current graph"> |
|
136 | 136 |
<img src="images/layout_off.png" id="applyLayoutImg" alt="Apply layout to current graph."> |
137 | 137 |
</button> |
138 | 138 |
</li> |
... | ... | |
140 | 140 |
<hr class="navbar-separator"> |
141 | 141 |
</li> |
142 | 142 |
<li> |
143 |
<button class="btn save-diagram" id="btnSaveDiagram" title="Save diagram as PNG.">
|
|
143 |
<button class="btn save-diagram" id="btnSaveDiagram" title="Save diagram as PNG"> |
|
144 | 144 |
<img src="images/png_save.png" id="applyLayoutImg" alt="Save diagram as PNG."> |
145 | 145 |
</button> |
146 | 146 |
</li> |
sources/src/main/webapp/uploadFiles.jsp | ||
---|---|---|
37 | 37 |
|
38 | 38 |
<form method="post" enctype="multipart/form-data"> |
39 | 39 |
<div class="form-field"> |
40 |
<label for="file">Select SPADe data file:</label><br>
|
|
40 |
<label for="file">Select JSON data file:</label><br>
|
|
41 | 41 |
<input type="file" name="file" id="file"> |
42 | 42 |
</div> |
43 | 43 |
|
... | ... | |
67 | 67 |
<div class="diagrams-menu"> |
68 | 68 |
<h3>Public diagrams</h3> |
69 | 69 |
|
70 |
<ul> |
|
70 |
<ul id="publicDiagramList">
|
|
71 | 71 |
<c:forEach items="${diagramsPublic}" var="diagram"> |
72 | 72 |
<li> |
73 | 73 |
<a href="${HOME_URL}graph?diagramId=${diagram.id}">${diagram.name}</a> |
sources/src/main/webapp/userMenu.jsp | ||
---|---|---|
14 | 14 |
<table> |
15 | 15 |
<tr> |
16 | 16 |
<td> |
17 |
Login name:
|
|
17 |
<label for="loginUsername">Login name:</label>
|
|
18 | 18 |
</td> |
19 | 19 |
<td> |
20 |
<input type="text" name="username"> |
|
20 |
<input type="text" name="username" id="loginUsername">
|
|
21 | 21 |
</td> |
22 | 22 |
</tr> |
23 | 23 |
<tr> |
24 | 24 |
<td> |
25 |
Password:
|
|
25 |
<label for="loginPassword">Password:</label>
|
|
26 | 26 |
</td> |
27 | 27 |
<td> |
28 |
<input type="password" name="password"> |
|
28 |
<input type="password" name="password" id="loginPassword">
|
|
29 | 29 |
</td> |
30 | 30 |
</tr> |
31 | 31 |
<tr> |
... | ... | |
43 | 43 |
<table> |
44 | 44 |
<tr> |
45 | 45 |
<td> |
46 |
Name:
|
|
46 |
<label for="registerName">Name:</label>
|
|
47 | 47 |
</td> |
48 | 48 |
<td> |
49 |
<input type="text" name="name"> |
|
49 |
<input type="text" name="name" id="registerName">
|
|
50 | 50 |
</td> |
51 | 51 |
</tr> |
52 | 52 |
<tr> |
53 | 53 |
<td> |
54 |
E-mail:
|
|
54 |
<label for="registerEmail">E-mail:</label>
|
|
55 | 55 |
</td> |
56 | 56 |
<td> |
57 |
<input type="text" name="email"> |
|
57 |
<input type="text" name="email" id="registerEmail">
|
|
58 | 58 |
</td> |
59 | 59 |
</tr> |
60 | 60 |
<tr> |
61 | 61 |
<td> |
62 |
Login name:
|
|
62 |
<label for="registerUsername">Login name:</label>
|
|
63 | 63 |
</td> |
64 | 64 |
<td> |
65 |
<input type="text" name="username"> |
|
65 |
<input type="text" name="username" id="registerUsername">
|
|
66 | 66 |
</td> |
67 | 67 |
</tr> |
68 | 68 |
<tr> |
69 | 69 |
<td> |
70 |
Password:
|
|
70 |
<label for="registerPassword">Password:</label>
|
|
71 | 71 |
</td> |
72 | 72 |
<td> |
73 |
<input type="password" name="password"> |
|
73 |
<input type="password" name="password" id="registerPassword">
|
|
74 | 74 |
</td> |
75 | 75 |
</tr> |
76 | 76 |
<tr> |
77 | 77 |
<td> |
78 |
Password again:
|
|
78 |
<label for="registerPasswordCheck">Password again:</label>
|
|
79 | 79 |
</td> |
80 | 80 |
<td> |
81 |
<input type="password" name="passwordCheck"> |
|
81 |
<input type="password" name="passwordCheck" id="registerPasswordCheck">
|
|
82 | 82 |
</td> |
83 | 83 |
</tr> |
84 | 84 |
<tr> |
Také k dispozici: Unified diff
minor improvements