mirror of
https://github.com/sismics/docs.git
synced 2024-11-25 15:17:57 +01:00
Refactor, TODO
This commit is contained in:
parent
52387d93ac
commit
25136bc146
@ -71,17 +71,22 @@ public class DocumentViewActivity extends AppCompatActivity {
|
|||||||
/**
|
/**
|
||||||
* File view pager.
|
* File view pager.
|
||||||
*/
|
*/
|
||||||
ViewPager fileViewPager;
|
private ViewPager fileViewPager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* File pager adapter.
|
* File pager adapter.
|
||||||
*/
|
*/
|
||||||
FilePagerAdapter filePagerAdapter;
|
private FilePagerAdapter filePagerAdapter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Document displayed.
|
* Document displayed.
|
||||||
*/
|
*/
|
||||||
JSONObject document;
|
private JSONObject document;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menu.
|
||||||
|
*/
|
||||||
|
private Menu menu;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(final Bundle args) {
|
protected void onCreate(final Bundle args) {
|
||||||
@ -181,29 +186,16 @@ public class DocumentViewActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
// Grab the attached files
|
// Grab the attached files
|
||||||
updateFiles();
|
updateFiles();
|
||||||
|
|
||||||
|
// Grab the full document (used for ACLs and writable status)
|
||||||
|
updateDocument();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(final Menu menu) {
|
public boolean onCreateOptionsMenu(final Menu menu) {
|
||||||
MenuInflater inflater = getMenuInflater();
|
MenuInflater inflater = getMenuInflater();
|
||||||
inflater.inflate(R.menu.document_view_activity, menu);
|
inflater.inflate(R.menu.document_view_activity, menu);
|
||||||
|
this.menu = menu;
|
||||||
// Silently get the document to know if it is writable by the current user
|
|
||||||
// If this call fails or is slow and the document is read-only,
|
|
||||||
// write actions will be allowed and will fail
|
|
||||||
DocumentResource.get(this, document.optString("id"), new JsonHttpResponseHandler() {
|
|
||||||
@Override
|
|
||||||
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
|
|
||||||
boolean writable = response.optBoolean("writable");
|
|
||||||
|
|
||||||
menu.findItem(R.id.share).setVisible(writable);
|
|
||||||
menu.findItem(R.id.upload_file).setVisible(writable);
|
|
||||||
menu.findItem(R.id.edit).setVisible(writable);
|
|
||||||
menu.findItem(R.id.delete_file).setVisible(writable);
|
|
||||||
menu.findItem(R.id.delete_document).setVisible(writable);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return super.onCreateOptionsMenu(menu);
|
return super.onCreateOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,6 +502,33 @@ public class DocumentViewActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the document model.
|
||||||
|
*/
|
||||||
|
private void updateDocument() {
|
||||||
|
if (document == null) return;
|
||||||
|
|
||||||
|
// Silently get the document to know if it is writable by the current user
|
||||||
|
// If this call fails or is slow and the document is read-only,
|
||||||
|
// write actions will be allowed and will fail
|
||||||
|
DocumentResource.get(this, document.optString("id"), new JsonHttpResponseHandler() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
|
||||||
|
boolean writable = response.optBoolean("writable");
|
||||||
|
|
||||||
|
if (menu != null) {
|
||||||
|
menu.findItem(R.id.share).setVisible(writable);
|
||||||
|
menu.findItem(R.id.upload_file).setVisible(writable);
|
||||||
|
menu.findItem(R.id.edit).setVisible(writable);
|
||||||
|
menu.findItem(R.id.delete_file).setVisible(writable);
|
||||||
|
menu.findItem(R.id.delete_document).setVisible(writable);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO Show the ACLs in a sliding panel from the right
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Refresh files list.
|
* Refresh files list.
|
||||||
*/
|
*/
|
||||||
|
@ -103,7 +103,7 @@ public class DocumentResource extends BaseResource {
|
|||||||
document.put("description", documentDb.getDescription());
|
document.put("description", documentDb.getDescription());
|
||||||
document.put("create_date", documentDb.getCreateDate().getTime());
|
document.put("create_date", documentDb.getCreateDate().getTime());
|
||||||
document.put("language", documentDb.getLanguage());
|
document.put("language", documentDb.getLanguage());
|
||||||
document.put("creator", userDao.getById(documentDb.getUserId()).getUsername());
|
// TODO Add "shared" and "file_count" -> rewrite the query in SQL
|
||||||
|
|
||||||
if (principal.isAnonymous()) {
|
if (principal.isAnonymous()) {
|
||||||
// No tags in anonymous mode (sharing)
|
// No tags in anonymous mode (sharing)
|
||||||
@ -123,6 +123,10 @@ public class DocumentResource extends BaseResource {
|
|||||||
document.put("tags", tags);
|
document.put("tags", tags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Below is specific to GET /document/id
|
||||||
|
|
||||||
|
document.put("creator", userDao.getById(documentDb.getUserId()).getUsername());
|
||||||
|
|
||||||
// Add ACL
|
// Add ACL
|
||||||
List<AclDto> aclDtoList = aclDao.getBySourceId(documentId);
|
List<AclDto> aclDtoList = aclDao.getBySourceId(documentId);
|
||||||
List<JSONObject> aclList = new ArrayList<>();
|
List<JSONObject> aclList = new ArrayList<>();
|
||||||
@ -190,8 +194,8 @@ public class DocumentResource extends BaseResource {
|
|||||||
document.put("title", documentDto.getTitle());
|
document.put("title", documentDto.getTitle());
|
||||||
document.put("description", documentDto.getDescription());
|
document.put("description", documentDto.getDescription());
|
||||||
document.put("create_date", documentDto.getCreateTimestamp());
|
document.put("create_date", documentDto.getCreateTimestamp());
|
||||||
document.put("shared", documentDto.getShared());
|
|
||||||
document.put("language", documentDto.getLanguage());
|
document.put("language", documentDto.getLanguage());
|
||||||
|
document.put("shared", documentDto.getShared());
|
||||||
document.put("file_count", documentDto.getFileCount());
|
document.put("file_count", documentDto.getFileCount());
|
||||||
|
|
||||||
// Get tags added by the current user on this document
|
// Get tags added by the current user on this document
|
||||||
|
Loading…
Reference in New Issue
Block a user