11 Commits

Author SHA1 Message Date
Yannick Torres
e232ed22e7 New :
* upgrade extJs to 3.2.1
* Remove "Pending commit" module in favore to "work in progress" module
* Remove "Pending patch" module in favore to "patches for review" module
* Add a field to ask for an email when we logging in. It allow users to contact others.
* Add a progress bar to allow user indicate the progression of his work
* Anonymous user are no longer "anonymous", as a cookie is set on connexion to "authenticate" him.
* Anonymous user can save a file as an authenticated user. No longer only use the "patch" button.
* New rules when a file is edited. When the file is edited by :

  - an anonymous user : authenticated user can always edit it. When he does, the owner change and anonymous user can't edit it again.

  - an authenticated user : anonymous and others authenticated users can't edit it. The first user must release it (eithers commit his change, or remove the change he does). Administrator can edit it. This can allow to override change made by an authenticated user. Administrators are defined per project in configuration file.

* We no longer allow a user to commit files changed by others users. An authenticated user can only commit his files.

Bugs :

  - fix bug #51767
  - fix bug that display internal file (.new) in some modules
  - change file() class beaviours
2010-05-24 20:04:32 +00:00
Yannick Torres
f0cac3ec63 Simplify the store ; remove unecessary arguments in some functions ; reindent ; move js/ui/component/ to js/ui/cmp/ to save some space 2010-04-25 15:39:34 +00:00
Yannick Torres
77a48939de cleanUp the code 2010-03-13 16:38:22 +00:00
Yannick Torres
08f3a48f62 CleanUp code 2010-03-11 10:27:39 +00:00
Yannick Torres
9ca16323e7 Change the name of the class to reflect the new name of this app 2010-03-02 12:29:21 +00:00
Yannick Torres
cdbd408dbc exec jsLint on ui/task 2009-10-24 09:04:41 +00:00
Chan Ka Shing
f7bd0a3d1b modification/fix:
* adopted mod_rewrite, reflect changes to URLs
  * util.js - XHR will now always fire requset to server with mod_rewrite defined rule
  * login.js - reformat codes, cvs2svn adoption changes
2009-08-12 07:17:22 +00:00
Chan Ka Shing
8c30b3f9b1 Note:
This patch restructure the doc-editor php's architecture.
    But, cvs2svn is not yet covered and thus some functions related to repository log, update, commit are not functioning.
    class.php is no longer in use but kept for reference

modification/fix:
  * Update ToolsError to use DBConnection singleton
  * Update ToolsCheckDoc to use DBConnection singleton
  * Bug fix in Repository Tree for detecting Language of File
  * ErrorFileGrid is now updated right after a file was check for error
  * added lang in front of file path under MarkDeleteTask.js
  * fixed CommitLogPrompt failed to delete commit log

php re-factoring:
  * JsonResponseBuilder (utility class) created for constructing json responses
    - success (ExtJsController.getSuccess)
    - failure (ExtJsController.getFailure)
    - response (ExtJsController.getResponse)
  * DBConnection created for manipulating database connection
    - singleton
    - query (mysqli::query)
    - insert_id (mysqli::insert_id)
    - real_escape_string (mysqli::real_escape_string)
  * AccountManager created for manipulating user account
    - singleton
    - updateLastConnect
    - isLogged
    - login
    - register
    - updateConf
    - eraseData
    - email
  * CvsClient created for cvs i/o
    - singleton
    - passwdEncode
    - authenticate
    - checkout
    - update
    - log
    - diff
    - commit
  * RepositoryFetcher created for fetching phpdoc-all repository
    - singleton
    - getLastUpdate
    - getModifies      (get all modified files in pending commit)
    - getModifiesById  (get modified files in pending commit queue by id)
    - getPendingUpdate
    - getPendingReview
    - getNotInEn
    - getPendingPatch
    - getPendingCommit
    - getFilesByExtension
    - getFileByXmlID
    - getFileByKeyword (perform searching on file-path)
    - getFilesByDirectory
  * RepositoryManager created for managing phpdoc-all repository
    - singleton
    - checkoutRepository (exec cvs checkout, called in install/firstRun.php)
    - cleanUp
    - updateRepository (exec cvs update)
    - checkbuild (exec php configure.php)
    - addPendingCommit
    - delPendingCommit
    - addPendingPatch
    - addPendingDelete
    - commitChanges
    - clearLocalChange
    - setLastUpdate
    - postPatchAccept
    - postPatchReject
    - updateFileInfo
    - updateTranslatorInfo
    - updateNotInEN
    - applyRevCheck
  * File created for modeling php-doc files
    - isModified
    - read (read original/modified file content, depends on passed param & file state)
    - save
    - parseAttribute (class.php - revParseAttrString)
    - getEncoding
    - getInfo
    - rawDiff  (exec 'diff -uN file file.ext' with stdout output)
    - htmlDiff (exec php-file-diff with html output)
    - cvsDiff  (exec cvs diff with html output)
  * TranslatorStatistic created for computing statistic about translator
    - singleton
    - getTranslators       (get info about all translators for lang)
    - getUptodateFileCount (count up-to-date file contributed by every translator)
    - getOldFileCount      (count out-dated file contributed by every translator)
    - getCriticalFileCount (count critical file contributed by every translator)
    - getSummary           (summary of the statistic about translators)
  * TranslationStatistic created for computing statistic about translation
    - singleton
    - getFileCount         (count all file)
    - getTransFileCount    (count translated files for lang)
    - getOldFileCount      (count out-dated files for lang)
    - getCriticalFileCount (count critical files for lang)
    - getNoTransFileCount  (count not translated files for lang)
    - getMissedFileCount   (count not translated files for lang TODO... merge with getNoTransFileCount)
    - getNoTagFileCount    (count files with no revcheck tag for lang)
    - getSummary           (summary of the statistic about translation)
  * LogManager created for handling all logging activities
    - singleton
    - getCommitLog
    - addCommitLog
    - saveOutputLog
    - readOutputLog
    - saveBuildLogStatus
    - getBuildLogStatus
  * Utility (a namespace) created for different utility task
    - debug (*NOTE: under global namespace)
2009-07-23 13:45:59 +00:00
Chan Ka Shing
ec7a55c1aa modification/fix:
* apply singleton pattern to all unique component, singleton component can be obtained by ui.component.XXX.getInstance()
  * file panel exclude 'home' & 'end' key as modifying keys
  * file panel string concat using string.join() instead of operator +

main.js cleanup:
  * migrated phpDoc.saveLangFile into ui/component/FilePanel.js
  * migrated repositoryContextMenu into ui/component/RepositoryTree.js
  * sendEmail is now wrapped in ui/component/EmailPrompt.js
  * WinCheckBuild is now wrapped in ui/component/CheckBuildPrompt and ui/task/CheckBuildTask.js
  * WinUpdate is now wrapped in ui/component/SystemUpdatePrompt and ui/task/SystemUpdateTask
  * WinCommit is now wrapped in ui/component/CommitPrompt and ui/task/CVSCommitTask.js;
    CommitLog management is now in ui/component/CommitLogPrompt
2009-07-03 04:11:10 +00:00
Chan Ka Shing
fdab95a628 modification/fix:
* fix CodeMirror cannot display the end of vertical scroll [bug in last commit]
  * FilePendingOpen queue is now storing { fpath, fname } object instead of plain array
  * created static reference for singleton components, dependency on phpDoc.xxx are removed and use ui.component.xxx.instance instead
  * created static reference for PingTask, dependency on phpDoc.TaskPing is removed
  * remove .run() in task/*.js
  * fix openning multiple files will stop when some files already opened

main.js cleanup:
  * load configuration task is wrapped in ui/task/LoadConfigTask.js
  * menuMarkupEN & menuMarkupLANG is now wrapped in ui/component/FilePanel.js
  * newTabCheckDoc, newTabBuildStatus, winConf, winAbout is now wrapped in ui/component/MainMenu.js
  * getFile is now wrapped in ui/task/GetFileTask.js
  * confUpdate is now wrapped in ui/task/UpdateConfTask.js
  * winDiff moved into CVSLogGrid.js
  * newTabMailing moved into LocalMailGrid.js
  * newTabBugs moved into BugsGrid.js
  * addToPendingPatch is now wrapped in ui/task/SavePatchTask.js
  * addToPeningCommit moved into PendingCommitGrid.js
2009-06-26 10:29:45 +00:00
Chan Ka Shing
8a64497643 modification/fix:
* fix ux.CodeMirror resize
    - file no longer need to fake resize after getFile
    - CodeMirror will auto-resize depends on TextArea height
  * removed dependency on _SaveEnFile after cleanup, for SaveEnFile logic see ui/task/SaveEnFileTask.js
  * removed dependency on _SavePatch after cleanup, for SavePatch logic see ui/component/SavePatchPrompt.js

main.js cleanup:
  * gridFilesError is now wrapped in ui/component/ErrorFileGrid.js
  * gridPendingPatch is now wrapped in ui/component/PendingPatchGrid.js
  * rejectPatch is now wrapped in ui/task/RejectPatchTask.js
  * saveFileViaPatch is now wrapped in ui/task/AcceptPatchTask.js
  * gridNotInEN is now wrapped in ui/component/NotInENGrid.js
  * mark-file-as-delete in non-en grid is now wrapped in ui/task/MarkDeleteTask.js
  * gridPendingCommit is now wrapped in ui/component/PendingCommitGrid.js
  * clearLocalChange is now wrapped in ui/task/ClearLocalChange.js
  * gridNeedReview is now wrapped in ui/component/PendingReviewGrid.js
2009-06-21 13:33:13 +00:00