From a9fbdcaebfca3b04af5418f1c1931cbf8027ca67 Mon Sep 17 00:00:00 2001
From: yyc12345
Date: Fri, 5 Feb 2021 17:07:20 +0800
Subject: [PATCH] nightly commit
---
src/database.py | 18 +-
src/sql/sqlite.sql | 3 -
src/static/i18n/strings_en-US.properties | 2 +-
src/static/i18n/strings_zh-CN.properties | 2 +-
src/static/js/api.js | 2 +-
src/static/js/page/calendar.js | 257 ++++++++++++-----------
src/static/js/template.js | 20 +-
src/static/tmpl/ownedItem.tmpl | 30 +++
src/static/tmpl/sharedItem.tmpl | 4 +-
src/static/tmpl/sharingItem.tmpl | 25 +--
src/static/tmpl/sharingTargetItem.tmpl | 9 -
src/templates/calendar.html | 62 +++---
12 files changed, 227 insertions(+), 207 deletions(-)
create mode 100644 src/static/tmpl/ownedItem.tmpl
delete mode 100644 src/static/tmpl/sharingTargetItem.tmpl
diff --git a/src/database.py b/src/database.py
index d5488c1..7e150c2 100644
--- a/src/database.py
+++ b/src/database.py
@@ -54,6 +54,8 @@ class CalendarDatabase(object):
if config.CustomConfig['database-type'] == 'sqlite':
self.db = sqlite3.connect(config.CustomConfig['database-config']['url'], check_same_thread = False)
+ self.db.execute('PRAGMA encoding = "UTF-8";')
+ self.db.execute('PRAGMA foreign_keys = ON;')
elif config.CustomConfig['database-type'] == 'mysql':
raise Exception('Not implemented database')
else:
@@ -323,7 +325,7 @@ class CalendarDatabase(object):
@SafeDatabaseOperation
def collection_getFullOwn(self, token):
username = self.tokenOper_get_username(token)
- self.cursor.execute('SELECT * FROM collection WHERE [ccn_user] = ?;', (username, ))
+ self.cursor.execute('SELECT [ccn_uuid], [ccn_name], [ccn_lastChange] FROM collection WHERE [ccn_user] = ?;', (username, ))
return self.cursor.fetchall()
@SafeDatabaseOperation
@@ -335,7 +337,7 @@ class CalendarDatabase(object):
@SafeDatabaseOperation
def collection_getDetailOwn(self, token, uuid):
username = self.tokenOper_get_username(token)
- self.cursor.execute('SELECT * FROM collection WHERE [ccn_user] = ? AND [ccn_uuid] = ?;', (username, uuid))
+ self.cursor.execute('SELECT [ccn_uuid], [ccn_name], [ccn_lastChange] FROM collection WHERE [ccn_user] = ? AND [ccn_uuid] = ?;', (username, uuid))
return self.cursor.fetchone()
@SafeDatabaseOperation
@@ -352,7 +354,7 @@ class CalendarDatabase(object):
self.tokenOper_check_valid(token)
lastupdate = utils.GenerateUUID()
- self.cursor.execute('UPDATE collection SET [ccn_name] = ? [ccn_lastChange] = ? WHERE [ccn_uuid] = ?, [ccn_lastChange] = ?;', (
+ self.cursor.execute('UPDATE collection SET [ccn_name] = ?, [ccn_lastChange] = ? WHERE [ccn_uuid] = ? AND [ccn_lastChange] = ?;', (
newname,
lastupdate,
uuid,
@@ -366,7 +368,7 @@ class CalendarDatabase(object):
def collection_deleteOwn(self, token, uuid, lastChange):
self.tokenOper_check_valid(token)
- self.cursor.execute('DELETE FROM collection WHERE [ccn_uuid] = ?, [ccn_lastChange] = ?;', (
+ self.cursor.execute('DELETE FROM collection WHERE [ccn_uuid] = ? AND [ccn_lastChange] = ?;', (
uuid,
lastChange
))
@@ -385,7 +387,7 @@ class CalendarDatabase(object):
self.tokenOper_check_valid(token)
lastupdate = utils.GenerateUUID()
- self.cursor.execute('UPDATE share SET [ccn_lastChange] = ? WHERE [ccn_uuid] = ? AND [ccn_lastChange] = ?;', (lastupdate, uuid, lastChange))
+ self.cursor.execute('UPDATE collection SET [ccn_lastChange] = ?, WHERE [ccn_uuid] = ? AND [ccn_lastChange] = ?;', (lastupdate, uuid, lastChange))
if self.cursor.rowcount != 1:
raise Exception('Fail to delete due to no matched rows or too much rows.')
@@ -400,11 +402,11 @@ class CalendarDatabase(object):
self.tokenOper_check_valid(token)
lastupdate = utils.GenerateUUID()
- self.cursor.execute('UPDATE share SET [ccn_lastChange] = ? WHERE [ccn_uuid] = ? AND [ccn_lastChange] = ?;', (lastupdate, uuid, lastChange))
+ self.cursor.execute('UPDATE collection SET [ccn_lastChange] = ? WHERE [ccn_uuid] = ? AND [ccn_lastChange] = ?;', (lastupdate, uuid, lastChange))
if self.cursor.rowcount != 1:
raise Exception('Fail to delete due to no matched rows or too much rows.')
- self.cursor.execute('SELECT * FROM share WHERE [ccn_uuid] = ? AND [ccn_lastChange] = ?;', (uuid, target))
+ self.cursor.execute('SELECT * FROM share WHERE [ccn_uuid] = ? AND [ccn_target] = ?;', (uuid, target))
if len(self.cursor.fetchall()) != 0:
raise Exception('Fail to insert duplicated item.')
self.cursor.execute('INSERT INTO share VALUES (?, ?);', (uuid, target))
@@ -414,7 +416,7 @@ class CalendarDatabase(object):
@SafeDatabaseOperation
def collection_getShared(self, token):
username = self.tokenOper_get_username(token)
- self.cursor.execute('SELECT collection.ccn_uuid, collection.name, collection.user \
+ self.cursor.execute('SELECT collection.ccn_uuid, collection.ccn_name, collection.ccn_user \
FROM share INNER JOIN collection \
ON share.ccn_uuid = collection.ccn_uuid \
WHERE share.ccn_target = ?;', (username, ))
diff --git a/src/sql/sqlite.sql b/src/sql/sqlite.sql
index b0ce859..e8aab63 100644
--- a/src/sql/sqlite.sql
+++ b/src/sql/sqlite.sql
@@ -1,6 +1,3 @@
-PRAGMA encoding = "UTF-8";
-PRAGMA foreign_keys = ON;
-
CREATE TABLE user(
[ccn_name] TEXT NOT NULL,
[ccn_password] TEXT NOT NULL,
diff --git a/src/static/i18n/strings_en-US.properties b/src/static/i18n/strings_en-US.properties
index 4256948..f9c3b0b 100644
--- a/src/static/i18n/strings_en-US.properties
+++ b/src/static/i18n/strings_en-US.properties
@@ -46,7 +46,7 @@ ccn-calendar-week-friday=Friday
ccn-calendar-week-saturday=Saturday
ccn-calendar-week-sunday=Sunday
ccn-calendar-shared-list=Shared
-ccn-calendar-sharing-ownedList=Owned
+ccn-calendar-ownedList=Owned
ccn-calendar-sharing-sharingTargetList=Sharing target
ccn-calendar-sharing-sharingTargetEditing=Editing:
ccn-calendar-sharedItem-sharedBy=Shared by:
diff --git a/src/static/i18n/strings_zh-CN.properties b/src/static/i18n/strings_zh-CN.properties
index 320b01e..99ba143 100644
--- a/src/static/i18n/strings_zh-CN.properties
+++ b/src/static/i18n/strings_zh-CN.properties
@@ -46,7 +46,7 @@ ccn-calendar-week-friday=星期五
ccn-calendar-week-saturday=星期六
ccn-calendar-week-sunday=星期日
ccn-calendar-shared-list=被共享的集合
-ccn-calendar-sharing-ownedList=我的集合
+ccn-calendar-ownedList=我的集合
ccn-calendar-sharing-sharingTargetList=分享目标
ccn-calendar-sharing-sharingTargetEditing=正在编辑集合:
ccn-calendar-sharedItem-sharedBy=共享人:
diff --git a/src/static/js/api.js b/src/static/js/api.js
index 366b526..cce4400 100644
--- a/src/static/js/api.js
+++ b/src/static/js/api.js
@@ -334,7 +334,7 @@ function ccn_api_collection_addSharing(_uuid, _target, _lastChange) {
function ccn_api_collection_getShared() {
return ccn_api_dataTemplate(
- '/api/collection/addSharing',
+ '/api/collection/getShared',
{
token: GetApiToken()
}
diff --git a/src/static/js/page/calendar.js b/src/static/js/page/calendar.js
index addc0fa..5579066 100644
--- a/src/static/js/page/calendar.js
+++ b/src/static/js/page/calendar.js
@@ -1,10 +1,10 @@
// 3 used cache list
-var ccn_calendar_sharingListCache = [];
-var ccn_calendar_sharingTargetListCache = [];
-var ccn_calendar_sharedListCache = [];
+var ccn_calendar_owned_listCache = [];
+var ccn_calendar_sharing_listCache = [];
+var ccn_calendar_shared_listCache = [];
// current editing sharing collection
-var ccn_calendar_editingSharing = undefined; // the uuid of owned collection
+var ccn_calendar_sharing_editingOwned = undefined; // the uuid of owned collection
// 2 list which will store sharing and shared collection's display mode.
// key is uuid, value is bool
@@ -45,12 +45,16 @@ $(document).ready(function() {
ccn_i18n_LoadLanguage();
ccn_i18n_ApplyLanguage();
+ //refresh once
+ ccn_calendar_shared_Refresh();
+ ccn_calendar_owned_Refresh();
+
// bind event
$('#ccn-calendar-shared-btnRefresh').click(ccn_calendar_shared_Refresh);
- $('#ccn-calendar-sharing-btnAdd').click(ccn_calendar_sharingList_Add);
+ $('#ccn-calendar-owned-btnAdd').click(ccn_calendar_owned_Add);
+ $('#ccn-calendar-own-btnRefresh').click(ccn_calendar_owned_Refresh);
+ $('#ccn-calendar-sharing-btnAdd').click(ccn_calendar_sharing_Add);
$('#ccn-calendar-sharing-btnRefresh').click(ccn_calendar_sharing_Refresh);
- $('#ccn-calendar-sharingTarget-btnAdd').click(ccn_calendar_sharingTargetList_Add);
- $('#ccn-calendar-sharingTarget-btnRefresh').click(ccn_calendar_sharingTarget_Refresh);
});
// ================== calendar
@@ -61,142 +65,156 @@ function ccn_calendar_LoadCalendarBody() {
// ================== collection
-function ccn_calendar_sharing_Refresh() {
- ccn_calendar_sharingListCache = new Array();
+function ccn_calendar_owned_Refresh() {
+ ccn_calendar_owned_listCache = new Array();
ccn_calendar_sharing_displayCache = new Array();
var result = ccn_api_collection_getFullOwn();
if(typeof(result) != 'undefined') {
for(var index in result) {
- ccn_calendar_sharingListCache[result[index][0]] = result[index];
+ ccn_calendar_owned_listCache[result[index][0]] = result[index];
ccn_calendar_sharing_displayCache[result[index][0]] = true;
}
}
// render
- $('#ccn-calendar-sharingList').empty();
-
- var listDOM = $('#ccn-calendar-sharingList');
- for(var index in ccn_calendar_sharingListCache) {
- ccn_admin_userList_RenderItem(
- ccn_calendar_sharingListCache[index],
+ var listDOM = $('#ccn-calendar-ownedList');
+ listDOM.empty();
+ for(var index in ccn_calendar_owned_listCache) {
+ ccn_calendar_owned_RenderItem(
+ ccn_calendar_owned_listCache[index],
listDOM
)
}
+
+ // also, order sharing list clean
+ ccn_calendar_sharing_editingOwned = undefined;
+ ccn_calendar_sharing_Refresh();
}
-function ccn_calendar_sharing_RenderItem(item, listDOM) {
+function ccn_calendar_owned_RenderItem(item, listDOM) {
var renderdata = {
uuid: item[0],
name: item[1]
}
// render
- listDOM.append(ccn_template_sharingItem.render(renderdata));
+ listDOM.append(ccn_template_ownedItem.render(renderdata));
// set mode
var uuid = renderdata.uuid;
- ccn_calendar_sharing_ChangeDisplayMode(uuid, true, false);
+ ccn_calendar_owned_ChangeDisplayMode(uuid, true, false);
// bind event
- $('#ccn-calendar-sharingItem-btnEdit-' + uuid).click(ccn_calendar_sharingList_ItemEdit);
- $('#ccn-calendar-sharingItem-btnDelete-' + uuid).click(ccn_calendar_sharingList_ItemDelete);
- $('#ccn-calendar-sharingItem-btnShare-' + uuid).click(ccn_calendar_sharingList_ItemShare);
- $('#ccn-calendar-sharingItem-btnHide-' + uuid).click(ccn_calendar_sharingList_ItemSwitchDisplay);
- $('#ccn-calendar-sharingItem-btnShow-' + uuid).click(ccn_calendar_sharingList_ItemSwitchDisplay);
- $('#ccn-calendar-sharingItem-btnUpdate-' + uuid).click(ccn_calendar_sharingList_ItemUpdate);
- $('#ccn-calendar-sharingItem-btnCancelUpdate-' + uuid).click(ccn_calendar_sharingList_ItemCancelUpdate);
+ $('#ccn-calendar-ownedItem-btnEdit-' + uuid).click(ccn_calendar_owned_ItemEdit);
+ $('#ccn-calendar-ownedItem-btnDelete-' + uuid).click(ccn_calendar_owned_ItemDelete);
+ $('#ccn-calendar-ownedItem-btnShare-' + uuid).click(ccn_calendar_owned_ItemShare);
+ $('#ccn-calendar-ownedItem-btnHide-' + uuid).click(ccn_calendar_owned_ItemSwitchDisplay);
+ $('#ccn-calendar-ownedItem-btnShow-' + uuid).click(ccn_calendar_owned_ItemSwitchDisplay);
+ $('#ccn-calendar-ownedItem-btnUpdate-' + uuid).click(ccn_calendar_owned_ItemUpdate);
+ $('#ccn-calendar-ownedItem-btnCancelUpdate-' + uuid).click(ccn_calendar_owned_ItemCancelUpdate);
}
-function ccn_calendar_sharing_ChangeDisplayMode(uuid, isShow, isEdit) {
+function ccn_calendar_owned_ChangeDisplayMode(uuid, isShow, isEdit) {
if (typeof(isShow) != 'undefined') {
if (isShow) {
- $('#ccn-calendar-sharingItem-btnHide-' + uuid).show();
- $('#ccn-calendar-sharingItem-btnShow-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-btnHide-' + uuid).show();
+ $('#ccn-calendar-ownedItem-btnShow-' + uuid).hide();
} else {
- $('#ccn-calendar-sharingItem-btnHide-' + uuid).hide();
- $('#ccn-calendar-sharingItem-btnShow-' + uuid).show();
+ $('#ccn-calendar-ownedItem-btnHide-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-btnShow-' + uuid).show();
}
}
if (typeof(isEdit) != 'undefined') {
if (isEdit) {
- $('#ccn-calendar-sharingItem-btnEdit-' + uuid).hide();
- $('#ccn-calendar-sharingItem-btnShare-' + uuid).hide();
- $('#ccn-calendar-sharingItem-btnDelete-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-btnEdit-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-btnShare-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-btnDelete-' + uuid).hide();
- $('#ccn-calendar-sharingItem-btnUpdate-' + uuid).show();
- $('#ccn-calendar-sharingItem-btnCancelUpdate-' + uuid).show();
+ $('#ccn-calendar-ownedItem-btnUpdate-' + uuid).show();
+ $('#ccn-calendar-ownedItem-btnCancelUpdate-' + uuid).show();
- $('#ccn-admin-userItem-textName-' + uuid).hide();
- $('#ccn-admin-userItem-boxName-' + uuid).show();
+ $('#ccn-calendar-ownedItem-textName-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-boxName-' + uuid).show();
} else {
- $('#ccn-calendar-sharingItem-btnEdit-' + uuid).show();
- $('#ccn-calendar-sharingItem-btnShare-' + uuid).show();
- $('#ccn-calendar-sharingItem-btnDelete-' + uuid).show();
+ $('#ccn-calendar-ownedItem-btnEdit-' + uuid).show();
+ $('#ccn-calendar-ownedItem-btnShare-' + uuid).show();
+ $('#ccn-calendar-ownedItem-btnDelete-' + uuid).show();
- $('#ccn-calendar-sharingItem-btnUpdate-' + uuid).hide();
- $('#ccn-calendar-sharingItem-btnCancelUpdate-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-btnUpdate-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-btnCancelUpdate-' + uuid).hide();
- $('#ccn-admin-userItem-textName-' + uuid).show();
- $('#ccn-admin-userItem-boxName-' + uuid).hide();
+ $('#ccn-calendar-ownedItem-textName-' + uuid).show();
+ $('#ccn-calendar-ownedItem-boxName-' + uuid).hide();
}
}
}
-function ccn_calendar_sharingTarget_Refresh() {
- ccn_calendar_sharingTargetListCache = new Array();
+function ccn_calendar_sharing_Refresh() {
+ ccn_calendar_sharing_listCache = new Array();
- if (typeof(ccn_calendar_editingSharing) != 'undefined') {
- var result = ccn_api_collection_getSharing(ccn_calendar_editingSharing);
+ if (typeof(ccn_calendar_sharing_editingOwned) != 'undefined') {
+ var result = ccn_api_collection_getSharing(ccn_calendar_sharing_editingOwned);
if (typeof(result) != 'undefined') {
for(var index in result) {
- ccn_calendar_sharingTargetListCache[index] = result[index];
+ ccn_calendar_sharing_listCache[index] = result[index];
// also, sharingTarget don't have uuid, use index instead
}
}
-
- // update editing text
- $('#ccn-calendar-sharing-sharingEditing').text(ccn_calendar_sharingListCache[uuid][1]);
}
- var listDOM = $('#ccn-calendar-sharingTargetList');
+ // update editing text
+ $('#ccn-calendar-sharing-sharingEditing').text(
+ typeof(ccn_calendar_sharing_editingOwned) == 'undefined' ?
+ '' :
+ ccn_calendar_owned_listCache[ccn_calendar_sharing_editingOwned][1]
+ );
+
+ // if editing is undefined, hide container
+ if (typeof(ccn_calendar_sharing_editingOwned) == 'undefined')
+ $('#ccn-calendar-sharing-container').hide();
+ else
+ $('#ccn-calendar-sharing-container').show();
+
+
+ var listDOM = $('#ccn-calendar-sharingList');
listDOM.empty();
- for(var index in ccn_admin_userListCache) {
- ccn_admin_userList_RenderItem(
- ccn_calendar_sharingTargetListCache[index],
+ for(var index in ccn_calendar_sharing_listCache) {
+ ccn_calendar_sharing_RenderItem(
+ ccn_calendar_sharing_listCache[index],
index,
listDOM
)
}
}
-function ccn_calendar_sharingTarget_RenderItem(item, index, listDOM) {
+function ccn_calendar_sharing_RenderItem(item, index, listDOM) {
var renderdata = {
uuid: index,
username: item
}
// render
- listDOM.append(ccn_template_sharingTargetItem.render(renderdata));
+ listDOM.append(ccn_template_sharingItem.render(renderdata));
// bind event
var uuid = index;
- $("#ccn-calendar-sharingTargetItem-btnDelete-" + uuid).click(ccn_calendar_sharingTargetList_ItemDelete);
+ $("#ccn-calendar-sharingItem-btnDelete-" + uuid).click(ccn_calendar_sharing_ItemDelete);
}
function ccn_calendar_shared_Refresh() {
- ccn_calendar_sharedListCache = new Array();
+ ccn_calendar_shared_listCache = new Array();
ccn_calendar_shared_displayCache = new Array();
var result = ccn_api_collection_getShared();
if (typeof(result) != 'undefined') {
for(var index in result) {
- ccn_calendar_sharedListCache[result[index][0]] = result[index];
+ ccn_calendar_shared_listCache[result[index][0]] = result[index];
ccn_calendar_shared_displayCache[result[index][0]] = true;
}
}
@@ -209,18 +227,21 @@ function ccn_calendar_shared_Refresh() {
var listDOM = $('#ccn-calendar-sharedList');
listDOM.empty();
- for(var index in ccn_calendar_sharedListCache) {
- var item = ccn_calendar_sharedListCache[index];
+ for(var index in ccn_calendar_shared_listCache) {
+ var item = ccn_calendar_shared_listCache[index];
renderdata.uuid = item[0];
renderdata.name = item[1];
renderdata.username = item[2];
listDOM.append(ccn_template_sharedItem.render(renderdata));
- // bind event
+ // change display
var uuid = renderdata.uuid;
- $('#ccn-admin-userItem-btnHide-' + uuid).click(ccn_calendar_sharedList_ItemSwitchDisplay);
- $('#ccn-admin-userItem-btnShow-' + uuid).click(ccn_calendar_sharedList_ItemSwitchDisplay);
+ ccn_calendar_shared_ChangeDisplayMode(uuid, true);
+
+ // bind event
+ $('#ccn-calendar-sharedItem-btnHide-' + uuid).click(ccn_calendar_shared_ItemSwitchDisplay);
+ $('#ccn-calendar-sharedItem-btnShow-' + uuid).click(ccn_calendar_shared_ItemSwitchDisplay);
}
ccn_i18n_ApplyLanguage2Content(listDOM);
@@ -228,18 +249,18 @@ function ccn_calendar_shared_Refresh() {
function ccn_calendar_shared_ChangeDisplayMode(uuid, isShow) {
if (isShow) {
- $('#ccn-admin-userItem-btnHide-' + uuid).show();
- $('#ccn-admin-userItem-btnShow-' + uuid).hide();
+ $('#ccn-calendar-sharedItem-btnHide-' + uuid).show();
+ $('#ccn-calendar-sharedItem-btnShow-' + uuid).hide();
} else {
- $('#ccn-admin-userItem-btnHide-' + uuid).hide();
- $('#ccn-admin-userItem-btnShow-' + uuid).show();
+ $('#ccn-calendar-sharedItem-btnHide-' + uuid).hide();
+ $('#ccn-calendar-sharedItem-btnShow-' + uuid).show();
}
}
// ========================= input operation
-function ccn_calendar_sharingList_Add() {
- var newname = $('#ccn-calendar-sharing-inputAdd').val();
+function ccn_calendar_owned_Add() {
+ var newname = $('#ccn-calendar-owned-inputAdd').val();
if (newname == "") return;
var result = ccn_api_collection_addOwn(newname);
@@ -251,122 +272,122 @@ function ccn_calendar_sharingList_Add() {
if (typeof(result) == 'undefined') ccn_messagebox_Show($.i18n.prop("ccn-js-fail-get"));
else {
// render
- ccn_admin_userListCache[result[0]] = result;
- var listDOM = $('#ccn-calendar-sharingList');
- ccn_calendar_sharing_RenderItem(result, listDOM);
+ ccn_calendar_owned_listCache[result[0]] = result;
+ var listDOM = $('#ccn-calendar-ownedList');
+ ccn_calendar_owned_RenderItem(result, listDOM);
}
}
}
-function ccn_calendar_sharingList_ItemEdit() {
+function ccn_calendar_owned_ItemEdit() {
var uuid = $(this).attr("uuid");
// preset inputbox
- $('#ccn-admin-userItem-inputName-' + uuid).val(
- ccn_calendar_sharingListCache[uuid][1]
+ $('#ccn-calendar-ownedItem-inputName-' + uuid).val(
+ ccn_calendar_owned_listCache[uuid][1]
);
// switch to edit mode
- ccn_calendar_sharing_ChangeDisplayMode(uuid, undefined, true);
+ ccn_calendar_owned_ChangeDisplayMode(uuid, undefined, true);
}
-function ccn_calendar_sharingList_ItemDelete() {
+function ccn_calendar_owned_ItemDelete() {
var uuid = $(this).attr("uuid");
var result = ccn_api_collection_deleteOwn(
uuid,
- ccn_calendar_sharingListCache[uuid][2]
+ ccn_calendar_owned_listCache[uuid][2]
);
if (!result) ccn_messagebox_Show($.i18n.prop("ccn-js-fail-delete"));
else {
- $('#ccn-calendar-sharingItem-' + uuid).remove();
+ $('#ccn-calendar-ownedItem-' + uuid).remove();
// also, we should notice sharing target, and try clean it
- if (ccn_calendar_editingSharing == uuid) {
- ccn_calendar_editingSharing = undefined;
- ccn_calendar_sharingTarget_Refresh();
+ if (ccn_calendar_sharing_editingOwned == uuid) {
+ ccn_calendar_sharing_editingOwned = undefined;
+ ccn_calendar_sharing_Refresh();
}
}
}
-function ccn_calendar_sharingList_ItemUpdate() {
+function ccn_calendar_owned_ItemUpdate() {
var uuid = $(this).attr("uuid");
- var newname = $('#ccn-admin-userItem-inputName-' + uuid).val();
+ var newname = $('#ccn-calendar-ownedItem-inputName-' + uuid).val();
- var result = ccn_api_collection_updateOwn(uuid, newname, ccn_calendar_sharingListCache[uuid][2]);
+ var result = ccn_api_collection_updateOwn(uuid, newname, ccn_calendar_owned_listCache[uuid][2]);
if (typeof(result) == 'undefined') ccn_messagebox_Show($.i18n.prop("ccn-js-fail-update"));
else {
// update last change
- ccn_calendar_sharingListCache[uuid][2] = result;
- ccn_calendar_sharingListCache[uuid][1] = newname;
+ ccn_calendar_owned_listCache[uuid][2] = result;
+ ccn_calendar_owned_listCache[uuid][1] = newname;
// update elements
- $('#ccn-admin-userItem-textName-' + uuid).text(newname);
+ $('#ccn-calendar-ownedItem-textName-' + uuid).text(newname);
// if editing, update sharing target
- if (ccn_calendar_editingSharing == uuid)
- ccn_calendar_sharingTarget_Refresh();
+ if (ccn_calendar_sharing_editingOwned == uuid)
+ ccn_calendar_sharing_Refresh();
// back to normal mode
- ccn_calendar_sharing_ChangeDisplayMode(uuid, undefined, false);
+ ccn_calendar_owned_ChangeDisplayMode(uuid, undefined, false);
}
}
-function ccn_calendar_sharingList_ItemCancelUpdate() {
+function ccn_calendar_owned_ItemCancelUpdate() {
var uuid = $(this).attr("uuid");
- ccn_calendar_sharing_ChangeDisplayMode(uuid, undefined, false);
+ ccn_calendar_owned_ChangeDisplayMode(uuid, undefined, false);
}
-function ccn_calendar_sharingList_ItemSwitchDisplay() {
+function ccn_calendar_owned_ItemSwitchDisplay() {
var uuid = $(this).attr("uuid");
ccn_calendar_sharing_displayCache[uuid] = !(ccn_calendar_sharing_displayCache[uuid]);
- ccn_calendar_sharing_ChangeDisplayMode(uuid, ccn_calendar_sharing_displayCache[uuid], undefined);
+ ccn_calendar_owned_ChangeDisplayMode(uuid, ccn_calendar_sharing_displayCache[uuid], undefined);
}
-function ccn_calendar_sharingList_ItemShare() {
+function ccn_calendar_owned_ItemShare() {
var uuid = $(this).attr("uuid");
- ccn_calendar_editingSharing = uuid;
- ccn_calendar_sharingTarget_Refresh();
+ ccn_calendar_sharing_editingOwned = uuid;
+ ccn_calendar_sharing_Refresh();
}
-function ccn_calendar_sharingTargetList_Add() {
- var newusername = $('#ccn-calendar-sharingTarget-inputAdd').val();
- if (newusername == "" || typeof(ccn_calendar_editingSharing) == 'undefined') return;
+function ccn_calendar_sharing_Add() {
+ var newusername = $('#ccn-calendar-sharing-inputAdd').val();
+ if (newusername == "" || typeof(ccn_calendar_sharing_editingOwned) == 'undefined') return;
var result = ccn_api_collection_addSharing(
- ccn_calendar_editingSharing,
+ ccn_calendar_sharing_editingOwned,
newusername,
- ccn_calendar_sharingListCache[ccn_calendar_editingSharing][2]
+ ccn_calendar_owned_listCache[ccn_calendar_sharing_editingOwned][2]
);
if (typeof(result) == 'undefined') ccn_messagebox_Show($.i18n.prop("ccn-js-fail-add"));
else {
// add new item
- var index = ccn_calendar_sharingTargetListCache.push(newusername) - 1;
- var listDOM = $('#ccn-calendar-sharingTargetList');
- ccn_calendar_sharingTarget_RenderItem(newusername, index, listDOM);
+ var index = ccn_calendar_sharing_listCache.push(newusername) - 1;
+ var listDOM = $('#ccn-calendar-sharingList');
+ ccn_calendar_sharing_RenderItem(newusername, index, listDOM);
// update last change
- ccn_calendar_sharingListCache[ccn_calendar_editingSharing][2] = result;
+ ccn_calendar_owned_listCache[ccn_calendar_sharing_editingOwned][2] = result;
}
}
-function ccn_calendar_sharingTargetList_ItemDelete() {
+function ccn_calendar_sharing_ItemDelete() {
var uuid = $(this).attr("uuid");
- var username = ccn_calendar_sharingTargetListCache[uuid];
+ var username = ccn_calendar_sharing_listCache[uuid];
var result = ccn_api_collection_deleteSharing(
- ccn_calendar_editingSharing,
+ ccn_calendar_sharing_editingOwned,
username,
- ccn_calendar_sharingListCache[ccn_calendar_editingSharing][2]
+ ccn_calendar_owned_listCache[ccn_calendar_sharing_editingOwned][2]
);
if (typeof(result) == 'undefined') ccn_messagebox_Show($.i18n.prop("ccn-js-fail-delete"));
else {
// remove item in ui
- $('#ccn-calendar-sharingTargetItem-' + uuid).remove();
+ $('#ccn-calendar-sharingItem-' + uuid).remove();
// update last change
- ccn_calendar_sharingListCache[ccn_calendar_editingSharing][2] = result;
+ ccn_calendar_owned_listCache[ccn_calendar_sharing_editingOwned][2] = result;
}
}
-function ccn_calendar_sharedList_ItemSwitchDisplay() {
+function ccn_calendar_shared_ItemSwitchDisplay() {
var uuid = $(this).attr("uuid");
ccn_calendar_shared_displayCache[uuid] = !(ccn_calendar_shared_displayCache[uuid]);
ccn_calendar_shared_ChangeDisplayMode(uuid, ccn_calendar_shared_displayCache[uuid]);
diff --git a/src/static/js/template.js b/src/static/js/template.js
index 9df0365..bc25458 100644
--- a/src/static/js/template.js
+++ b/src/static/js/template.js
@@ -2,8 +2,8 @@ var ccn_template_headerNav = undefined;
var ccn_template_messagebox = undefined;
var ccn_template_calendarItem = undefined;
var ccn_template_scheduleItem = undefined;
+var ccn_template_ownedItem = undefined;
var ccn_template_sharingItem = undefined;
-var ccn_template_sharingTargetItem = undefined;
var ccn_template_sharedItem = undefined;
var ccn_template_userItem = undefined;
var ccn_template_todoItem = undefined;
@@ -46,6 +46,14 @@ function ccn_template_Load() {
ccn_template_scheduleItem = $.templates(data);
}
});
+ $.ajax({
+ url: $("#jsrender-tmpl-ownedItem").attr('src'),
+ type: "GET",
+ async: false,
+ success: function (data) {
+ ccn_template_ownedItem = $.templates(data);
+ }
+ });
$.ajax({
url: $("#jsrender-tmpl-sharingItem").attr('src'),
type: "GET",
@@ -54,20 +62,12 @@ function ccn_template_Load() {
ccn_template_sharingItem = $.templates(data);
}
});
- $.ajax({
- url: $("#jsrender-tmpl-sharingTargetItem").attr('src'),
- type: "GET",
- async: false,
- success: function (data) {
- ccn_template_scheduleItem = $.templates(data);
- }
- });
$.ajax({
url: $("#jsrender-tmpl-sharedItem").attr('src'),
type: "GET",
async: false,
success: function (data) {
- ccn_template_scheduleItem = $.templates(data);
+ ccn_template_sharedItem = $.templates(data);
}
});
break;
diff --git a/src/static/tmpl/ownedItem.tmpl b/src/static/tmpl/ownedItem.tmpl
new file mode 100644
index 0000000..88d3eb3
--- /dev/null
+++ b/src/static/tmpl/ownedItem.tmpl
@@ -0,0 +1,30 @@
+
+
+
{{>name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/tmpl/sharedItem.tmpl b/src/static/tmpl/sharedItem.tmpl
index 29b012d..ee71aac 100644
--- a/src/static/tmpl/sharedItem.tmpl
+++ b/src/static/tmpl/sharedItem.tmpl
@@ -7,10 +7,10 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/static/tmpl/sharingItem.tmpl b/src/static/tmpl/sharingItem.tmpl
index 18b8561..fb467f3 100644
--- a/src/static/tmpl/sharingItem.tmpl
+++ b/src/static/tmpl/sharingItem.tmpl
@@ -1,30 +1,9 @@
-
{{>name}}
-
-
-
+
{{>username}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/static/tmpl/sharingTargetItem.tmpl b/src/static/tmpl/sharingTargetItem.tmpl
deleted file mode 100644
index a9b6894..0000000
--- a/src/static/tmpl/sharingTargetItem.tmpl
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
{{>username}}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/templates/calendar.html b/src/templates/calendar.html
index 2c738f4..4de496d 100644
--- a/src/templates/calendar.html
+++ b/src/templates/calendar.html
@@ -16,8 +16,8 @@
+
-
@@ -203,7 +203,36 @@