| 1126 | } |
| 1127 | |
| 1128 | bool WizIndexBase::modifyDocumentInfoEx(const WIZDOCUMENTDATA& dataCur) |
| 1129 | { |
| 1130 | qDebug() << "modify document, title: " << dataCur.strTitle; |
| 1131 | |
| 1132 | if (dataCur.strKbGUID != m_strKbGUID) |
| 1133 | { |
| 1134 | Q_ASSERT(false); |
| 1135 | } |
| 1136 | |
| 1137 | WIZDOCUMENTDATA dataOld; |
| 1138 | documentFromGuid(dataCur.strGUID, dataOld); |
| 1139 | |
| 1140 | WIZDOCUMENTDATA data = dataCur; |
| 1141 | |
| 1142 | // try to fill the fields not allowed empty |
| 1143 | if (data.strTitle.isEmpty()) { |
| 1144 | if (!dataOld.strTitle.isEmpty()) { |
| 1145 | data.strTitle = dataOld.strTitle; |
| 1146 | } else { |
| 1147 | data.strTitle = "New note"; |
| 1148 | } |
| 1149 | |
| 1150 | TOLOG2("Document Title is empty: %1, Try to rename to the %2", data.strGUID, data.strTitle); |
| 1151 | } |
| 1152 | |
| 1153 | if (data.strLocation.isEmpty()) { |
| 1154 | if (!dataOld.strLocation.isEmpty()) { |
| 1155 | data.strLocation = dataOld.strLocation; |
| 1156 | } else { |
| 1157 | data.strLocation = getDefaultNoteLocation(); |
| 1158 | } |
| 1159 | |
| 1160 | TOLOG2("Document Location is empty: %1, Try to relocation to the %2", data.strTitle, data.strLocation); |
| 1161 | } |
| 1162 | // |
| 1163 | if (data.nVersion >= 0) |
| 1164 | { |
| 1165 | if (data.nDataChanged || data.nInfoChanged) |
| 1166 | { |
| 1167 | qDebug() << "fault error: data changed or info changed is not false"; |
| 1168 | data.nDataChanged = 0; |
| 1169 | data.nInfoChanged = 0; |
| 1170 | } |
| 1171 | } |
| 1172 | |
| 1173 | CString strFormat = formatUpdateSQLFormat(TABLE_NAME_WIZ_DOCUMENT, FIELD_LIST_WIZ_DOCUMENT_MODIFY, TABLE_KEY_WIZ_DOCUMENT); |
| 1174 | |
| 1175 | CString strSQL; |
| 1176 | strSQL.format(strFormat, |
| 1177 | STR2SQL(data.strTitle).utf16(), |
| 1178 | STR2SQL(data.strLocation).utf16(), |
| 1179 | STR2SQL(data.strName).utf16(), |
| 1180 | STR2SQL(data.strSEO).utf16(), |
| 1181 | STR2SQL(data.strURL).utf16(), |
| 1182 | STR2SQL(data.strAuthor).utf16(), |
| 1183 | STR2SQL(data.strKeywords).utf16(), |
| 1184 | STR2SQL(data.strType).utf16(), |
| 1185 | STR2SQL(data.strOwner).utf16(), |
no test coverage detected