=======================
Stalker Pyramid Changes
=======================

0.1.0.b1
========

* **Update:** The Pyramid part of Stalker is moved in to a new package (this
  one).

pre 0.1.0.b1
============

* **Update:** All the date values are now returned as **UTC String** and
  stored in database as UTC datetime thus Stalker now supports Time Zones.
* **Fix:** Fixed all the dialogs with TimeTextBox inputs, where the
  date portion was reset to epoch by the widget itself, causing a change in
  Day Light Saving of the users locale and the dialog was reporting wrong
  date time values. Now in those dialogs, on submit a new date object is
  created or the DateTextBox widget value is used and the time portion of the
  Date object is updated from the TimeTextBox. This way, it is guaranteed to
  get correct date and time values.
* **Fix:** Fixed Studio create/update dialog, it is now correctly setting the
  start and end hours of a non working day.
* **New:** Studio Page is created.It has Tasks and Resources as Tabs.
* **New:** Update Studio function id added.
* **New:** Thumbnail Add function is added to several objects' Summarize Pages.
    (Task, Asset, Shot, Sequence,Department, Group). List Page is also updated
    by new thumbnail information.
* **Fix:** dgrid height attribute is updated and new div's are added for
    dgrid object.
* **Fix:** Working hours for each day is taken from database in
    Studio Update Dialog.
* **New:** List Ticket page and Create/Update Ticket dialog are created.
* **Fix:** Added logged_in_user object to user page to fix permission bug. So
    default facilities of page is define based on logged_in_user.
* **Fix:** Fixed DGrid auto height problem.

* **Fix:** GanttChart  view of Assets, Shots,Sequences or Tasks now displays
  only the children and parents of that Task derivative.
* **Update:** Task create/update dialog now displays the full hierarchy in
  parent/dependent task listings.
* **Fix:** TimeLog create/update dialog now displays the default times
  correctly when creating a new TimeLog.
* **Fix:** TimeLog create/update view callables are now checking if there
  will be any OverBookedError raised.
* **Fix:** Task create/update dialog now will not list the task itself in
  parent and dependent task lists, if the UI is called with a Task instance
  ({{task}} is not None).
* **Update:** For Asset Page and Task Page tab order is changed.
* **New:** Starts and Ends attributes are added to Task Summary Page.
* **Update:** List of Users, Departments and Groups are now sorted by using
  the name of the entity.
* **Update:** Task create/update dialog now has a new field called
  ``priority``.
* **Update:** **Task.schedule_constraint** is now filled with correct
  information when creating/updating a Task.
* **Fix:** Selected 'Status' attribute for 'Task Dialog' in 'Update' mode is
    set when dialog is open.
* **New:** Version List Page and Create/Update Dialogs are added.
* **New:** Vacation List Page and Create/Update Dialogs are added.
* **Fix:** Merge tested, and vacation adding is finished.
* **New:** Version Page is created. It has Outputs,Inputs and Children as
    Tabs.
* **New**: Added 'duration' field to TimeLog's List dgrid.
* **Fix:** Fixed the error in rendering of the **home** occurred when there is
  no user login information found in the request.
* **New:** User thumbnails now can be changed.
* **New:** Project thumbnails now can be changed.
* **New:** ``content_list_projects`` now shows the project thumbnails.
* **New:** ``content_list_users`` now shows the user thumbnails.
* **New:** ``submitForm.js`` now enables all the disabled fields of the given
  form, and disables them back again upon error.
* **Fix:** ``TagSelect.js`` will now correctly disable the child widgets if the
  ``disabled`` attribute is set to **true**.
* **New:** Added ``fields`` javascript library which are a special group of
  input fields designed to be used with Stalker.
* **New:** Added the first input field to stalker/fields, called ``tagField``.
  It is now possible to add a TagSelect field which is correctly updated by
  only two lines of code.
* **New:** Added ``get_tags()`` to stalker.views.__init__ module. Because all
  the tags now should be created with the ``tagField`` the way to retrieve tags
  is the same, so this helper function will let you retrieve tags from the
  given request instance.
* **New:** Permissions page is added to Group Page.
* **Fix:** dgrid object is declared from [Grid, Selection, Keyboard]. So it's
  possible to select a row and navigate by Keyboard.
* **New:** Permission controls are added to 'Page' and 'List' files.
* **New:** Permission controls are added to 'Dialog' and 'Summary' files.
* **Fix:** Minor bug is fixed in Update Department dialog.
* **Update:** Updated to Dojo 1.9
* **Update:** stalker.js is renamed to dialogs.js and it is now fully
  compatible with Dojo AMD.
* **Update:** Merged StatusList create and update dialogs in to one.
* **Update:** Content List - Task now checks user permissions to disable part
  of the UI.
* **Update:** Added description field to the Summarize Task view.
* **Update:** Added permission checks to several views.
* **Fix:** Fixed fieldUpdater.js to work properly with Dojo 1.9 especially for
  MultiSelect widgets.
* **Fix:** Separated the dialog and action routes for Structure.
* **Fix:** Fixed unnecessary module imports in stalker.js.
* **Fix:** Schedule button is now working properly.
* **Fix:** Fixed Image Format creation.
* **Fix:** Fixed Filename Template create dialog routine.
* **Fix:** Fixed Filename Template update dialog routine.
* **Fix:** Fixed entity_types in Filename Template creation UI.
* **Fix:** Fixed Group update dialog, the permissions were not displayed and
  the name was not updated on the server side.
* **Fix:** Fixed TaskBox CSS template
* **New:** GanttChart now displays the finished/unfinished tasks with a
  green/red 'id' column.
* **Fix:** Status color attribute converted from unicode to integer.
* **Fix:** To destroy previous open dialog, same dialog id is given for create
  and update dialogs.
* **Update:** In create/update_group dialog, to check all rows new checkboxes
  are added to head of each column.
* **Update:** ``ComboBox`` is added to TagSelect widget as a new input widget
  type.
* **Update:** Description field is added to Department dialog.
* **Fix:** ``user_create_dialog`` now shows and updates groups.
* **Fix:** Updating a project now correctly refreshes the ``project_summary``
  content pane.
* **Fix:** Separated the dialog and action routes for ImageFormat.
* **Fix:** Separated the dialog and action routes for Asset.
* **Fix:** Separated the dialog and action routes for Repository.
* **Fix:** The working hours were not correctly passed to the studio instance
  in Studio creation.
* **Fix:** "Append User Dialog" is now working properly.

* **Fix:** Links between pages is created with redirectLink function which is
  written in base.jinja2. goToLink.js is deprecated, but still there are some
  codes that uses gotolink.js, they must be changed for next update.
* **Update:** Combined ``user_create_dialog`` and ``user_update_dialog`` into
  one.
* **Update:** Logged in work times will now be visible in gantt charts as a
  green bar in the TaskBar div.
* **Update:** Department menus under 'Crew' menu are now showing the department
  users.
* **Update:** Color choosers in "Create Status Dialog" now have colors picked
  by default for BG and FG colors.
* **Update:** Replaced DataGrid objects with dgrid.
* **Update:** Added navigation bar for assets, shots, sequences.
* **Update:** Combined ``project_create_dialog`` and ``project_update_dialog``
  into one.
* **Update:** Merged the 'Crew' menu creation code in to one single
  teamMenuCreator.js, which is able to create menus for any groups and faux
  groups.
* **Update:** All DataGrid field updated with dgrid class.
* **New:** Placeholder images added for user and department.
* **New:** Added update group dialog.
* **Update:** Colors for the layouts are changed with MiamiNice PieChart's
  color.
* **New:** Added update group dialog.
* **New:** Append department and append group pages has connected to database.
* **New:** Timelog List page added.
* **New:** New placeholders added for different type of object.
* **New:** Added dialogCreator.js which helps creating a dialog without having
  a widget (Button or MenuItem) calling it and updated dialogCaller.js to use
  dialogCreator while creating a dialog.
* The Shot, Asset, Sequence detail pages under the Project Overview now opens
  inside the related tab on the Project Page.
* Updated the Create Task Dialog to reflect the TaskJuggler integration.
* Changed the license of Stalker_Pyramid from BSD-2 to LGPL 2.1. Any version
  previous to 0.2.0.a9 will be still BSD-2 and any version from and including
  0.2.0.a9 will be distributed under LGPL 2.1 license.
* TagSelect now can be filled by setting its ``value`` attribute (Ex:
  TagSelect.set('value', data))
* Fixed Projects menu in base.jinja2, the link is now updating correctly when a
  new project is added.
* Converted the ``view.py`` to a python module and put the views for each
  entity to its own python file.
* Added a new Dojo Widget called Tag to help the creation of the tags in the
  TagSelect.
* Updated java scripts to be `required` in Dojo AMD way.
* Updated setup.py to include "pyramid_jinja2"
* Added 'PlaceHolder' property for 'FilterSelect Widgets'. And 'Label' property
  is used in construction of 'PlaceHolder' property.
* Set disabled prerequisite fields, until their prerequisite is selected.
* Added **StartDate**, **EndDate** and **Duration** field to add_project page.
  **StartDate**, **EndDate** properties are now written to database.
* Project page is redesigned. SplitContainer is removed. All contents are
  displayed in TabContainer. New Contents in TabContainer are:

    * ProjectName (Disabled Field - Used for displaying projectname.)
    * Overview  (It has InlineEditable fields. Although they are not connected
      to DB.)

* Shot and Asset creation dialogs now automatically updated with the given
  Project instance info.
* User overview page is now reflection the new design.
* The WebUI form fields are now refreshed with newly added data.
* Added a new Dojo widget called TagSelect. Which is basically a widget for
  adding Tag style widgets.
* Converted the whole system to a Pyramid Web application. If the previous
  implementations investigated, it will be understood that it was only the
  database model of a Web Application.

* **jQueryGantt:**

  * **Update:** The gantt chart is now able to display much more info then
    before. There are two new modes for each of the Grid and Gantt parts of
    the Gantt Chart. Grid can be set to display *Task*s or *Resources* and
    the Gantt can set to display *Task*s or *TimeLog*s.
  * **Update:** Horizontal scrolling is disabled in gantt part of Gantt
    Chart. All the drawn tasks and links are now set in position with percent
    values, so they will stick and scale correctly when the split container
    resize.
  * **Update:** Any task out of range is culled in gantt chart.
  * **Update:** Added new buttons to change the range in -1/+1 month,
    -1/+1 week, -1/+1 day.
  * **Update:** Replaced the **Date.format()** (originally replaced by
    jQueryGantt **date.js**) with **date.format.js** library.
  * **Update:** Changed the background of the Grid and Gantt editors.
  * **Update:** If the displayed tasks is clipped to the current start end
    range a double red border is displayed in the clipped start or end.
  * **Update:** Context menu can now be opened in task names in grid editor.
  * **Update:** Optimized the creation of task rows.
  * **Update:** Replaced the ``input`` elements with ``div`` in the task row.
  * **New:** Holding the mouse on Task bar elements will now show a popup
    window for more info.
  * **Update:** Gantt Chart zoom levels are now fully controlled by the start
    and end date DateTextBoxes.
  * **New:** Added a new button which will center the gantt chart on today.
  * **Update:** Replaced the ``duration`` column with ``timing`` which
    correctly shows the schedule timing info of the related task.
  * **Fix:** The ``depends`` column shows the dependent task names correctly.
  * **Update:** jQueryGantt displays the owner Project of the Tasks as a
    container task.
  * **Update:** Added content link (this will be updated to support proper
    links, hardcoded links to be removed).
  * **Update:** Disabled drag and resize of TaskBar elements.
  * **Update:** Moved the resource link code to the JST template code instead
    of the Task class.
  * **Fix:** t is now possible to correctly move a TaskBar without getting in
    to an infinite loop which was freezing the browser.
  * **Update:** The timing resolution of jQueryGantt is now 1 hour.
  * **Fix:** GanttMaster.task_ids were not properly cleaned in
    GanttMaster.reset(), resulting wrong links to be created.
  * **Update:** Added a new zoom level where it is possible to see the every 1
    hour of 1 day.
  * Moving any child task will adjust the parent start and end dates so they
    fit to the children.
  * Gannt view is now communicating with Stalker correctly. The only left issue
    is the end date value is not properly shown in the gannt view.
  * Updated the jQueryGannt css's to work with Stalker and Dojo.
  * Colorized the Sunday column in suitable zoom levels. In upcoming releases
    it will use the stalker.models.studio.Studio.working_hours attribute to
    determine if the day/hour is an off day/hour.
  * Disabled editing of date fields.
  * Disabled undo/redo queue for performance test.
  * Fixed vertical overflow in gantt chart.
  * It is now possible to not to align a tasks start to its dependent tasks
    end.
  * jQueryGantt is now using the Task ids coming from Stalker instead of the
    ridiculous rowId.
  * Fixed a lot of issues related with the new data structure, it seems
    everything is working properly right now.
  * Parent Tasks displayed differently than the leaf tasks (on paar with the
    other gantt charts).
  * Gantt chart in User Detail page is now showing the parent tasks of the
    tasks of the user.
  * Now there are two different context menus for container/parent tasks and
    leaf tasks.
