svn: /web/doc-editor/trunk/ js/ui/component/RepositoryTree.js js/ui/component/StaleFileGrid.js js/ui/task/ClearLocalChangeTask.js js/ui/task/SaveENFileTask.js js/ui/task/SaveLangFileTask.js php/ExtJsController.php php/RepositoryFetcher.php php/RepositoryManager.php
[email protected] (Yannick Torres)
| Newsgroups | php.doc.web |
|---|---|
| Message-ID | <[email protected]> |
yannick Sun, 22 Nov 2009 18:18:02 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=291143
Log:
Solve some bugs with clearLocalChange
Changed paths:
U web/doc-editor/trunk/js/ui/component/RepositoryTree.js
U web/doc-editor/trunk/js/ui/component/StaleFileGrid.js
U web/doc-editor/trunk/js/ui/task/ClearLocalChangeTask.js
U web/doc-editor/trunk/js/ui/task/SaveENFileTask.js
U web/doc-editor/trunk/js/ui/task/SaveLangFileTask.js
U web/doc-editor/trunk/php/ExtJsController.php
U web/doc-editor/trunk/php/RepositoryFetcher.php
U web/doc-editor/trunk/php/RepositoryManager.php
svn-diffs-291143.txt
(text/x-diff, 17.2 KB)
Modified: web/doc-editor/trunk/js/ui/component/RepositoryTree.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/RepositoryTree.js 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/js/ui/component/RepositoryTree.js 2009-11-22 18:18:02 UTC (rev 291143)
@@ -142,7 +142,7 @@
extension = node.attributes.extension,
t, FileLang, FileName, parser,
panelWest, panelCenter;
-
+console.log(FilePath);
// Render only if this tab don't exist yet
if (!Ext.getCmp('main-panel').findById('AF-' + FileID)) {
Modified: web/doc-editor/trunk/js/ui/component/StaleFileGrid.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/StaleFileGrid.js 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/js/ui/component/StaleFileGrid.js 2009-11-22 18:18:02 UTC (rev 291143)
@@ -29,9 +29,12 @@
name : 'maintainer',
mapping : 'maintainer'
}, {
- name : 'needcommit',
- mapping : 'needcommit'
+ name : 'needCommitEN',
+ mapping : 'needCommitEN'
}, {
+ name : 'needCommitLang',
+ mapping : 'needCommitLang'
+ }, {
name : 'isCritical',
mapping : 'isCritical'
}
@@ -59,7 +62,7 @@
'{[values.rs.length > 1 ? "' + _('Files') + '" : "' + _('File') + '"]})',
getRowClass : function(record, numIndex, rowParams, store)
{
- if (record.data.needcommit) {
+ if (record.data.needCommitEN || record.data.needCommitLang) {
return 'file-need-commit';
}
if (record.data.isCritical) {
@@ -190,7 +193,7 @@
grid.getSelectionModel().selectRow(rowIndex);
tmp = new ui.component._StaleFileGrid.menu({
- hideCommit : (grid.store.getAt(rowIndex).data.needcommit === false),
+ hideCommit : (grid.store.getAt(rowIndex).data.needCommitEN === false && grid.store.getAt(rowIndex).data.needCommitLang === false),
grid : grid,
event : e,
rowIdx : rowIndex,
Modified: web/doc-editor/trunk/js/ui/task/ClearLocalChangeTask.js
===================================================================
--- web/doc-editor/trunk/js/ui/task/ClearLocalChangeTask.js 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/js/ui/task/ClearLocalChangeTask.js 2009-11-22 18:18:02 UTC (rev 291143)
@@ -36,6 +36,46 @@
},
success : function(response)
{
+ var pending_commit_grid = ui.component.PendingCommitGrid.getInstance(),
+ o = Ext.util.JSON.decode(response.responseText);
+
+ // We delete this record from the pending commit store
+ pending_commit_grid.store.remove(this.storeRecord);
+
+ // We fire event add to update the file count
+ pending_commit_grid.store.fireEvent(
+ 'add', pending_commit_grid.store
+ );
+
+ // Action for EN file
+ if( o.lang === 'en' && this.ftype === 'update' ) {
+
+ // trow StaleFile store
+ ui.component.StaleFileGrid.getInstance().store.each(
+ function(record)
+ {
+ if ((record.data.path) === '/'+o.path && record.data.name === o.name ) {
+ record.set('needCommitEN', false);
+ record.set('en_revision', o.revision);
+ record.commit();
+ }
+ }
+ , this);
+
+ // find open node in All Files modules
+ var node = ui.component.RepositoryTree.getInstance().getNodeById('/'+this.fpath+this.fname);
+ if (node) {
+ node.getUI().removeClass('modified');
+ }
+
+ Ext.getBody().unmask();
+ return;
+ }
+
+ // All after this is only available for LANG file
+
+
+/*
// clear local change success
if (phpDoc.userLang === 'en') {
// We reload all store
@@ -43,16 +83,8 @@
ui.component.ErrorFileGrid.getInstance().store.reload();
ui.component.PendingReviewGrid.getInstance().store.reload();
}
+*/
- var pending_commit_grid = ui.component.PendingCommitGrid.getInstance();
- // We delete from this store
- pending_commit_grid.store.remove(this.storeRecord);
-
- // We fire event add to update the file count
- pending_commit_grid.store.fireEvent(
- 'add', pending_commit_grid.store
- );
-
// We try to search in others stores if this file is marked as needCommit
// trow storeNotInEn
@@ -62,9 +94,8 @@
if ((phpDoc.userLang+record.data.path) === this.fpath && record.data.name === this.fname ) {
record.set('needcommit', false);
}
- },
- this
- );
+ }
+ , this);
// trow storeFilesNeedReviewed
ui.component.PendingReviewGrid.getInstance().store.each(
@@ -73,20 +104,21 @@
if ((phpDoc.userLang+record.data.path) === this.fpath && record.data.name === this.fname ) {
record.set('needcommit', false);
}
- },
- this
- );
+ }
+ , this);
// trow StaleFile store
ui.component.StaleFileGrid.getInstance().store.each(
function(record)
{
if ((phpDoc.userLang+record.data.path) === this.fpath && record.data.name === this.fname ) {
- record.set('needcommit', false);
+ record.set('needCommitLang', false);
+ record.set('revision', o.revision);
+ record.set('maintainer', o.maintainer);
+ record.commit();
}
- },
- this
- );
+ }
+ , this);
// trow FileError
ui.component.ErrorFileGrid.getInstance().store.each(
@@ -95,15 +127,15 @@
if ((phpDoc.userLang+record.data.path) === this.fpath && record.data.name === this.fname ) {
record.set('needcommit', false);
}
- },
- this
- );
+ }
+ , this);
// find open node in All Files modules
- var node = ui.component.RepositoryTree.getInstance().getNodeById('//'+this.fpath+this.fname);
+ var node = ui.component.RepositoryTree.getInstance().getNodeById('/'+this.fpath+this.fname);
if (node) {
node.getUI().removeClass('modified');
}
+
Ext.getBody().unmask();
},
failure : function(response)
Modified: web/doc-editor/trunk/js/ui/task/SaveENFileTask.js
===================================================================
--- web/doc-editor/trunk/js/ui/task/SaveENFileTask.js 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/js/ui/task/SaveENFileTask.js 2009-11-22 18:18:02 UTC (rev 291143)
@@ -30,8 +30,9 @@
if (this.prefix === 'FNU') {
// Update our store
- this.storeRecord.set('en_revision', o.en_revision);
- this.storeRecord.set('needcommit', true);
+ this.storeRecord.set('en_revision', o.revision);
+ this.storeRecord.set('needCommitEN', true);
+ this.storeRecord.commit();
}
if (this.prefix === 'FE') {
Modified: web/doc-editor/trunk/js/ui/task/SaveLangFileTask.js
===================================================================
--- web/doc-editor/trunk/js/ui/task/SaveLangFileTask.js 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/js/ui/task/SaveLangFileTask.js 2009-11-22 18:18:02 UTC (rev 291143)
@@ -36,8 +36,8 @@
if (this.prefix === 'FNU') {
// Update our store
- this.storeRecord.set('revision', o.new_revision);
- this.storeRecord.set('needcommit', true);
+ this.storeRecord.set('revision', o.en_revision);
+ this.storeRecord.set('needCommitLang', true);
this.storeRecord.set('maintainer', o.maintainer);
this.storeRecord.commit();
}
Modified: web/doc-editor/trunk/php/ExtJsController.php
===================================================================
--- web/doc-editor/trunk/php/ExtJsController.php 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/php/ExtJsController.php 2009-11-22 18:18:02 UTC (rev 291143)
@@ -461,8 +461,9 @@
return JsonResponseBuilder::success(
array(
'id' => $r,
- 'en_revision' => $info['rev'],
- 'new_revision' => $info['en-rev'],
+ 'lang' => $fileLang,
+ 'revision' => $info['rev'],
+ 'en_revision' => $info['en-rev'],
'maintainer' => $info['maintainer'],
'reviewed' => $info['reviewed']
)
@@ -481,8 +482,9 @@
return JsonResponseBuilder::success(
array(
'id' => $r,
- 'en_revision' => $info['rev'],
- 'new_revision' => $info['en-rev'],
+ 'lang' => $fileLang,
+ 'revision' => $info['rev'],
+ 'en_revision' => $info['en-rev'],
'maintainer' => $info['maintainer'],
'reviewed' => $info['reviewed']
)
@@ -622,7 +624,11 @@
return JsonResponseBuilder::success(
array(
+ 'path' => $FilePath,
+ 'name' => $FileName,
+ 'lang' => $FileLang,
'revision' => $info['rev'],
+ 'en-revision'=> $info['en-rev'],
'maintainer' => $info['maintainer'],
'error' => $info['errorFirst'],
'reviewed' => $info['reviewed']
Modified: web/doc-editor/trunk/php/RepositoryFetcher.php
===================================================================
--- web/doc-editor/trunk/php/RepositoryFetcher.php 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/php/RepositoryFetcher.php 2009-11-22 18:18:02 UTC (rev 291143)
@@ -102,6 +102,7 @@
$vcsLang = AccountManager::getInstance()->vcsLang;
$m = $this->getModifies();
+
$s = sprintf(
'SELECT * FROM `files` WHERE `lang` = "%s" AND `revision` != `en_revision`',
$vcsLang
@@ -127,25 +128,27 @@
}
$node[] = array(
- "id" => $a->id,
- "path" => $a->path,
- "name" => $a->name,
- "revision" => $new_revision,
- "en_revision" => $new_en_revision,
- "maintainer" => $new_maintainer,
- "needcommit" => true,
- "isCritical" => false
+ "id" => $a->id,
+ "path" => $a->path,
+ "name" => $a->name,
+ "revision" => $new_revision,
+ "en_revision" => $new_en_revision,
+ "maintainer" => $new_maintainer,
+ "needCommitEN" => (isset($m['en'.$a->path.$a->name])) ? true : false,
+ "needCommitLang" => (isset($m[$vcsLang.$a->path.$a->name])) ? true : false,
+ "isCritical" => false
);
} else {
$node[] = array(
- "id" => $a->id,
- "path" => $a->path,
- "name" => $a->name,
- "revision" => $a->revision,
- "en_revision" => $a->en_revision,
- "maintainer" => $a->maintainer,
- "needcommit" => false,
- "isCritical" => ( ($a->en_revision - $a->revision >= 10) || $a->size_diff >= 3 || $a->mdate_diff <= -30 ) ? true : false
+ "id" => $a->id,
+ "path" => $a->path,
+ "name" => $a->name,
+ "revision" => $a->revision,
+ "en_revision" => $a->en_revision,
+ "maintainer" => $a->maintainer,
+ "needCommitEN" => false,
+ "needCommitLang" => false,
+ "isCritical" => ( ($a->en_revision - $a->revision >= 10) || $a->size_diff >= 3 || $a->mdate_diff <= -30 ) ? true : false
);
}
}
Modified: web/doc-editor/trunk/php/RepositoryManager.php
===================================================================
--- web/doc-editor/trunk/php/RepositoryManager.php 2009-11-22 16:07:39 UTC (rev 291142)
+++ web/doc-editor/trunk/php/RepositoryManager.php 2009-11-22 18:18:02 UTC (rev 291143)
@@ -285,6 +285,15 @@
$path = $file->path;
$name = $file->name;
+ // Initiate return's var
+ $return = array();
+ $return['rev'] = 0;
+ $return['en-rev'] = 0;
+ $return['maintainer'] = 0;
+ $return['reviewed'] = 0;
+ $return['errorState'] = false;
+ $return['errorFirst'] = 0;
+
// We need select row from pendingCommit table
$s = "SELECT `id` FROM `pendingCommit`
WHERE `lang`='$lang' AND `path`='$path' AND `name`='$name'";
@@ -297,7 +306,7 @@
// If type == delete, we stop here and return
if ($type == 'delete') {
- return;
+ return $return;
}
// We need delete file on filesystem (for new & update)
@@ -306,7 +315,7 @@
// If type == new, we stop here and return
if ($type == 'new') {
- return;
+ return $return;
}
// We need check for error in this file
@@ -326,27 +335,27 @@
$errorTools = new ToolsError();
$error = $errorTools->updateFilesError($anode, 'nocommit');
- // We need reload original lang_revision
- $s = "SELECT `revision`, `maintainer`, `reviewed` FROM `files`
+ // We need reload original information
+ $s = "SELECT `revision`, `en_revision`, `maintainer`, `reviewed` FROM `files`
WHERE `lang`='$lang' AND `path`='$path' AND `name`='$name'";
$r = DBConnection::getInstance()->query($s);
$a = $r->fetch_object();
- $info = array();
- $info['rev'] = $a->revision;
- $info['maintainer'] = $a->maintainer;
- $info['reviewed'] = $a->reviewed;
+ $return['rev'] = $a->revision;
+ $return['en-rev'] = $a->en_revision;
+ $return['maintainer'] = $a->maintainer;
+ $return['reviewed'] = $a->reviewed;
if (isset($error['first'])) {
- $info['errorState'] = true;
- $info['errorFirst'] = $error['first'];
+ $return['errorState'] = true;
+ $return['errorFirst'] = $error['first'];
} else {
- $info['errorState'] = false;
- $info['errorFirst'] = '-No error-';
+ $return['errorState'] = false;
+ $return['errorFirst'] = '-No error-';
}
// We return original lang_revision & maintainer
- return $info;
+ return $return;
}
/**