Storm, the main SuiteDesk module

This commit is contained in:
Manuel Cillero 2017-07-26 15:05:40 +02:00
parent 82d3282b44
commit bcf9ace539
422 changed files with 62462 additions and 0 deletions

View file

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View file

@ -0,0 +1,6 @@
Full documentation for SuiteDesk can be found within the folder '/documentation'.
The exceptions being:
- INSTALL.txt in the root folder: Instructions on installing SuiteDesk.
- CHANGELOG.txt in the root folder: A list of changes committed.

View file

@ -0,0 +1,276 @@
** New issues added should be added at the TOP of the list for each version as they are committed. **
Version 6.x-2.2:
- Bug #1879254 by juliangb | christopher.boss: Fixed Allow dashboard title to use string overrides.
- Task #1894816 by juliangb | BrdNLSrg: Change default end year to 2013.
- Feature #1817840 by willwh: Add drush command for reinstalling Storm.
Version 6.x-2.1:
- Bug #1508998 by m.koo, juliangb | copeasetic: Fixed Views - Broken/Missing handler on Status field.
- Bug #1596208 by Raphael Dürst: Fixed Bug with datebegin/dateend and _stormproject_beforesave().
- Bug #1621074 by Raphael Dürst: Fixed Calculation of hourly and daily rates.
- Bug #1505446 by juliangb | modctek: Fixed Fullname still being called on Invoice template.
- Bug #1448764 by kfritsche: Fixed Ticketlist doesn't show edit link.
- Bug #1485608 by kfritsche: Fixed Form.inc errors when creating new People and Projects.
- Bug #1463246 by kfritsche: Fixed E_STRICT Warnings in storm invoice.
- Bug #1397960 by kfritsche: Bug fix follow-up to Combine storm attribute module into the storm module.
Version 6.x-2.0:
- No changes since 6.x-2.0-rc1.
Version 6.x-2.0-rc1:
- No changes since 6.x-2.0-beta3.
Version 6.x-2.0-beta3:
- Bug #1425394 by John Franklin | yurtboy: Fixed Error when printing an invoice.
- Task #1412116 by juliangb: Ensure that Storm complies with Drupal coding standards.
- Task #1412206 by juliangb: Ensure all database updates have descriptions.
Version 6.x-2.0-beta2:
- Bug #1418656 by kfritsche: Fixed Date popup fields get wiped out.
- Bug #1418918 by kfritsche: Fixed Team list pager counter was wrong.
- Task #498108 by kfritsche | Magnity: Changed Refactor Storm dashboard.
- Bug #1397960 by juliangb, John Franklin: Bug fix follow-ups to Combine storm attribute module into the storm module.
Version 6.x-2.0-beta1:
- Task #1392484 by juliangb: Separate Storm Knowledgebase into separate project.
- Task #1397960 by juliangb: Combine storm attribute module into the storm module.
- Task #1397962 by juliangb: Move storm attribute installation into component modules.
- Task #1396238 by kfritsche: Changed Performance - Indexes for storm tables.
- Feature #1056918 by juliangb | minorOffense: Added Stormtask default category change to task.
- Feature #902962 by kfritsche: Added views support for storm icon and invoice status
- Task #1389998 by kfritsche: Performance Issue with stormteam.
- Feature #1178694 by juliangb | asb: Add currency to invoice node display.
- Feature #785372 by juliangb | Minoo: Added Translation : Icons ATL & TITLES.
- Task #890908 by juliangb: Clean up 'Fixed' price mode attribute.
- Feature #1060514 by kfritsche | Francewhoa: Added Storm Person: Remove possibility to assign two persons to one user.
- Bug #787822 by kfritsche: Fixed timezone error for date popup fields
- Bug fix by kfritsche: Fixed cannot paginate through expenses, invoiced and timetrackings without filtering date
- Task #1324864 by juliangb, kfritsche, tchurch: Removed access checks for javascript callbacks
- Task #1153672 by kfritsche: Added Views dateAPI support for expenses, invoices, tickets and timetrackings
- Feature #1340444 by ronline, kfritsche: Added number of nodes after storm icons of icon type
- Task #1318432 by kfritsche: Stormteam: Only add active Persons.
- Task #1328480 by kfritsche, juliangb | ronline: Check icons directory on saving settings form.
- Task #1287456 by juliangb: Clean up of jsgantt comments.
- Bug #1273072 by kfritsche: Fixed filter not working properly
- Bug #1198894 by kfritsche: Fixed lists with no persons to choose by assigned to
- Bug #1174962 by juliangb, kfritsche: Fixed lists do not filter properly
- Task #671622 by juliangb | Magnity: Removed fullname field from Storm Person.
- Task #1042698 by juliangb, pillarsdotnet: Changed Ensure all pages defined by Storm are tested.
- Task #1052154 by minorOffense, Carsten Müller, kfritsche: Changed schema on Storm Team module.
- Task #685140 by juliangb: Removed prefix and fullname fields from Storm Organization.
- Task #791100 by rjgoldsborough: Removed filtering by iscustomer on lists of organisations.
- Feature #1018304 by jalama: Added Token support for Storm invoice.
- Feature #332555 by jalama: Added Token support for Storm project, task and ticket.
Version 6.x-1.37:
- Bug #746420 by juliangb | tchurch: Fixed field totalcustomercurr for invoice not set correctly when adding timetracking record to invoice.
- Bug #758974 by juliangb | alberto56: Fixed Make it possible to remove a line in the invoice without everything disappearing.
- Bug #787822 by kfritsche: Fixed date popup error with on digit dates
- Bug #1170658 by D34dMan | AlphaGrowl: Fixed Edit icon not shown despite 'Edit when linked to user account' permission given.
- Bug #1178948 by davad: Fixed Overlapping text in 'Payment modes' section of pdf invoice.
- Bug #1276564 by juliangb | eighthourlunch: Fixed function stormnote_stormtask_change() calls nonexistent column in stormnote table.
- Bug #1316098 by kfritsche | key4ce: Fixed Permissions Storm organization: view belonged doesn't work. WHEN Menu breadcrumb is enabled.
- Bug #1344448 by D34dMan: Fixed 'Storm project: view if project manager' and 'Storm project: view if assigned to project' not valid when using Views.
- Task #918750 by juliangb: Added Tests for Storm Timetracking.
- Bug #1111202 by juliangb, chertzog: Fixed Permissions issue with views.
Version 6.x-1.36:
- Bug #1052180 by juliangb | Francewhoa: Fixed Teams disappear when revision activated.
- Bug #1018448 by minorOffense, juliangb: Fixed Storm Person: Drupal User in Views.
- Bug #1045258 by kfritsche: Fixed Default filter from storm attribute.
- Bug #770526 by juliangb: Fixed PHP Notice on viewing expenses report.
- Task #918748 by rjgoldsborough: Added Tests for Storm Expense.
- Task #918752 by rjgoldsborough: Added Tests for Storm Team.
- Bug #1038042 by kfritsche: Default filter for Storm Project list page.
- Task #918758 by juliangb: Added Tests for Storm Person.
- Bug #916302 by juliangb | Wappie08: Fixed No 'Storm: Ticket Duration' and 'Duration Unit' fields in views.
- Bug #1002374 by juliangb: Fixed typo in Stormtask views integration
- Bug #918760 by juliangb: Added Tests for Storm Note.
- Bug #924002 by tchurch, juliangb: Fixed Tasks tab doesn't show Category, Status and Priority icons.
Version 6.x-1.35:
- Bug #899970 by juliangb | elisem94305: Inconsistent attribute key length fields
- Bug #887638 by tchurch: Invoice Items not in correct order
- Bug #924436 by agsh,tchurch: Currency not visible
- Feature #738020 by tchurch: Link node record to invoice item.
- Feature #851464 by Carsten Müller: Added Sorting of assignments in storm.module, function storm_get_assignment_options().
- Bug #854570 by sethcohn: Fixed Incorrectly coded views support.
- Feature #891934 by juliangb: Added Tests for Storm Ticket.
- Feature #891916 by juliangb: Added Weighted menu items.
Version 6.x-1.34:
- Feature #886132 by juliangb: Added Tests for Storm Task.
- Feature #567558 by tchurch: Added Extend auto-billing to other types of Storm node.
- Bug #847166 by davfigue: Fixed Invalid string format in query for PostgreSQL.
- Bug #857154 by juliangb | Francewhoa: Fixed Multiple copies of same invoice are display in Invoice View.
- Bug #870428 by juliangb: Fixed Reinstate commented out test assertion.
- Bug #852892 by Carsten Müller: Fixed Patch for stormteam filter autocomplete.
- Bug #848410 by Carsten Müller: Fixed Wrong variable used in stormteam_storm_rewrite_where_sql().
- Bug #684016 by rfay | tchurch: Fix E_NOTICE notifications.
- Feature #814820 by Carsten Müller | tchurch: Add invoice icon on project page.
- Feature #688086 by Francewhoa: Reformat 'Description' section.
Version 6.x-1.33:
- SA-CONTRIB-2010-054
- Task #788204 by tchurch: Changed move invoice item description/amount code into storminvoice module.
- Feature #786148 by tchurch: Added Add billed to filter on list page.
- Task #784188 by tchurch: Changed Place 'add to invoice' link in separate function.
- Task #781814 by tchurch: Changed move invoice number code into separate function.
- Feature #593252 by Carsten Müller | Onopoc, Magnity: Added Adding 'assigned to' person in filters.
- Feature #773314 by juliangb: Added Tests for Storm Project.
- Feature #773274 by juliangb: Added Tests for Storm Invoice.
- Task #752720 by juliangb | tchurch: Changed Remove permission 'Storm organization: associate user'.
Version 6.x-1.32:
- Bug #257881 by juliangb: Fixed New attribute results in missing icon.
- Bug #735694 by tchurch: Fixed timetracking records not taking fixed price from organisation, project or task.
- Bug #750294 by juliangb | tchurch: Fixed missing css files.
- Bug #746410 by tchurch: Fixed tax 1/2 not hidden on screens and print-outs if switched off in admin settings.
- Bug #741466 by juliangb | tchurch: Fixed Emailed PDF file can't be opened.
- Bug #744690 by tchurch: Fixed Names for tax1 and tax2 on all node views not taken from database.
- Feature #747056 by juliangb: Added Test for dashboard access.
- Feature #660150 by flickerfly, juliangb | Magnity: Added Allow filter by 'billed' column in views.
- Bug #743724 by tchurch: Fixed Columns for views with update 6106/6103 not correct.
- Task #737384 by juliangb: Changed Remove translations from CVS.
- Bug #717174 by juliangb | Onopoc: Fixed Attribute character limit.
- Task #735910 by juliangb: Changed Attribute cleanups.
Version 6.x-1.31:
- Bug #701298 by Magnity: Fixed Gantt chart should use drupal_add_js().
- Bug #688936 by JGonzalez, Magnity: Fixed Comments and Descriptions FLOAT issue in Storm Task.
- Automatic testing enabled
- Bug #714764 by juliangb, FrankT: Fixed Translatability for Stormteam
- Feature #671554 by seutje | iamjon: Added Translatable Attributes.
- Task #544968 by Magnity: Changed Tests for Storm. (Initial commit of test)
- Task #688088 by com2 | Magnity: Changed Attachments below and not beside.
- Bug #687066 by Magnity | csattila: Fixed Adding expense data to invoice does not work.
- Bug #687596 by alberto56: Fixed Invoice items ORDER BY weight when shown, not when edited.
- Bug #688388 by com2: Fixed Link to parent task is incorrect.
- Bug #678922 by com2: Fixed Project list Edit icon missing.
- Bug #686332 by alberto56: Fixed Warnings on project and task add pages.
Version 6.x-1.30:
- Bug #678250 by Magnity | gnuwings: Fixed Warning on create/edit task.
- Feature #676042 by alberto56 | Magnity: Added Add classes to themed task rows to allow further color customization.
- Bug #527870 by Magnity | com2: Fixed Tasks drag to re-order without task edit permission. (again)
- Bug #663164 by Magnity | dbt102: Fixed stormproject is an undefined function. (again)
- Task #595278 by Magnity: Changed Remove old Storm Teammember table.
- Bug #673722 by Magnity: Fixed Hierarchical Project tasks view is not obeying permissions correctly.
- Bug #666656 by com2: Fixed Country field has no 'don't care' like the other filter options and is not saved.
- Bug #671588 by Magnity: Fixed Team members array always has 0:Null appended.
- Feature #671256 by alberto56: Added Invoicing tracked time: a better calculation of the hourly rate.
Version 6.x-1.29:
- Bug #670606 by Magnity | com2: Fixed 'Default Items per Page' setting fails in tickets and timetracking list.
- Task #663930 by Magnity: Changed Removal of blank .js files.
- Bug #663166 by jurgenhaas: Fixed stormteam_access_sql() fails.
- Bug #660122 by jurgenhaas: Fixed Link to create a new subtask doesn't work.
- Feature #595276 by Magnity | jurgenhaas: Added Assign to fields for tasks and tickets.
Version 6.x-1.28:
- Task #660724 by Magnity: Changed Make node dependencies consistent.
- Bug #527870 by Magnity | homoludens: Fixed Tasks drag to re-order without task edit permission.
- Task #652212 by Magnity: Changed Storm Attribute to rely on 'Storm: access administration pages' permission.
- Bug #654510 by jurgenhaas, Magnity | FrankT: Fixed Translatability.
- Bug #654042 by alberto56 | Magnity: Fixed storm_taxation() doesn't distinguish between zero and not set.
- Feature #629892 by amv101 | Magnity: Added enable / disable icons.
- Feature #652034 by VladSavitsky | Magnity: Added Let using comma in floats to set Duration.
- by Magnity: Improved install.txt
- Feature #643440 by jalama | Magnity: Added Allow setting default for billable checkbox.
- Bug #642814 by dbt102: Fixed error msg.
- Bug #637498 by Magnity: Fixed Errors on disabling some modules.
- Bug #622732 by alberto56: Fixed It's possible to create a task whose internal logic is not respected.
- Bug #637558 by Magnity: Fixed Workflow is creating duplicate nodes with Tickets.
Version 6.x-1.27:
- Task #637748 by Magnity: Changed Help text for tcpdf download.
- Bug #638002 by recrit | Magnity: Fixed Storminvoice item ordering.
- Bug #617212 by Magnity | deggertsen: Fixed Unable to view projects in views without organization permissions.
- Bug #628792 by Magnity | billshankley: Fixed Project titles visible for non-assigned teams.
- Bug #586418 by kieran_delaney: Fixed Attributes Filter by Active/Default not working.
- Bug #623376 by Magnity: Fixed Currency default being ignored on Create Organisation, Project, Task and Ticket pages.
- Bug #597050 by homoludens, Magnity | jurgenhaas: Fixed Changing project-organization relationship causes problem
- Bug #618658: Total durations not adding up
- Bug #620420: Fatal error when trying to edit an invoice
- Bug #617624: Amounts not showing on invoices
Version 6.x-1.26:
- Bug #617624: Fatal error on viewing invoices
Version 6.x-1.25:
- Storm invoice items become a field of Storm invoices (Security Advisory)
- Feature #529024: RTL support
- Task #600680: Spanish translation
- Task #380008: Storm Team module replaced Storm Teammember module.
- Bug #377680: Support for node preview (part)
- Task #588014: Simplification to implementation of hook_form
- Feature #577914: Permissions for person linked to own user account
- Fixed bugs in handling of translatable strings
- Feature #560832: Record invoice status on timetracking
- Feature #346131: Online timer (note change to duration -> billing_duration setting)
- Bug #343818: Title field gets displayed below body (field ordering when CCK enabled)
- Bug #526900: Formatting error using Chrome / Safari browsers
- Task #555250: Move admin settings to /admin/settings/storm/...
- Bug #556224: Theming calls not handled properly
- Feature #433294: Add filter status when lists are filtered
- Feature #547800: Add default length of lists
- Task #542030: Show all providers in expense providers autocomplete
Version 6.x-1.24:
- Bug 547040: Unknown column 'sin.organization_nid'
- Feature #539838: Additional views functionality
- Feature #301301: Timetracker -> Invoice
- Bug #535120: Multiple php errors when viewing expense report
- Feature #311855: Compound tax
- Feature #468294: Integration of Popups API
- Feature #530080: Additional views functionality
- Bug #526926: Tasks filter by project returned empty list
- Feature #527768: Additional links on node view, refactor of links code.
- Feature #297775: Gantt charts
(added as experimental feature - some refinement is still needed)
- Bug #340954: Fixed use of revisions in some modules
- Bug #477602: Add warning about remaining nodes on module disabling
- Bug #510056: Domain key shown instead of domain value in ticket display
- Feature #450360: Email invoicing
- Bug #469004: Teammember list does not show persons assigned
- Bug #377972: SQL warning when combined with i18n module
- Bug #500876: Fixed error when filering views by Storm Attributes values
Version 6.x-1.23:
- Feature #334396: Adding create ticket link to task node view (plus style changes on links on right hand side of node views)
- Task #436922: Storm Invoice Items module removed (functionality now within Storm Invoice)
- Bug #495512: Ticket list filter reset does not reset category
- Bug #300933: For new installations, Storm Expenses default to not promoted to front page
- Bug #495070: Dashboard does not pay attention to permissions
- Bug #478022: Add workaround to avoid SQL error with some menu modules
- Feature #329401: Display invoice items on view invoice page
- Feature #325363: Ticket - more fields visible on node view
- Bug #469002: Teammember - assigned person not remembered after save
- Bug #450778: Invoice - allow editting of invoice amount fields
- Task #456164: Added variable for location of tcpdf library plus check of existance. Defaults now to sites/all/libraries.
- Bug #460472: Knowledgebase topics not displayed, plus similar bug for organization countries
- Bug #433300: Can't cancel attribute creation - removed code
- Feature #348777: Organization Phone Number
- Feature #320801: Exposed Storm fields to views
- Bug #436382: Wysiwyg doesn't show up on timetracking
- Bug #454412: Knowledge Base - allow filtering by non-default attributes
- Task #436922: Removed add_js on init from Storm Invoice Items.
- Task #436922: Storm Invoice Items permissions moved to Storm Invoice
- Improved module descriptions
- Bug #450648: Documentation updated to mention conflict with node access modules
Version 6.x-1.22:
- Bug #433300: Can't cancel attribute creation - disabled function (temporary fix)
- Bug #343818: Title field displayed below body when CCK enabled
- Bug #432148: PHP warning due to invalid argument supplied
- Documentation updated and extended
- Code style changes as per Drupal Coding Standards
- CVS headers added to all files
Version 6.x-1.21:
- Active and default settings for attributes
- Addition of documentation
- Bug fixes
[Changelog begins at version 6.x-1.20]

View file

@ -0,0 +1,48 @@
Storm module for Drupal 6.x
INSTALLATION:
1) Copy this 'storm' directory into the /sites/all/modules directory of your Drupal installation.
(Multisite installations may wish to use a different directory - see http://drupal.org/node/53705)
2) Enable Storm (and whatever submodules of Storm that you wish), by visiting http://example.com/admin/build/modules. You will (almost) always need 'Storm', 'Storm Attribute' and 'Storm Organization'.
3) To enable the pdf invoice feature, you must separately install the tcpdf library (http://www.tcpdf.org). The install directory can be set at /admin/settings/storm/invoice. If you do not install the tcpdf library, Storm will still work, but you will not be able to view pdf versions of invoices.
CONFIGURATION:
- Set up permissions: Initially, it is recommended that you allow full access for your administrative role, and allow more once you are familiar with the system.
- There are a number of settings forms linked from http://example.com/admin/settings/storm. After installation, you should visit these pages and
- Storm Attribute: This module gives additional settings for allowed field values, and values you can search for on the lists. In later versions of Storm, this may become part of the standard settings forms.
DISABLING / UNINSTALL:
1) Visit http://example.com/admin/build/modules in your web-browser and deselect the modules that you wish to disable. To uninstall, select the uninstall tab and follow the on screen instructions.
2) Warnings may appear on disabling stating that nodes have not been deleted. This is because several of the Storm modules use the existing Drupal node system to store information. Therefore, on disabling the module, these nodes are not deleted. It is suggested that you may wish to delete these manually by visiting http://example.com/admin/content/node and filtering by the stated content type.
HELP:
- It is understandable that Storm may appear intimidating at first glance due to the number of modules in the package. Do not be afraid!
- You may find this blog entry useful: http://cocoate.com/2009/06/29/project-management-drupal-and-storm
- For general support, you can ask questions on the issues queue on Drupal.org: http://drupal.org/project/issues/storm
FEEDBACK:
- Please feedback on your experiences to make Storm better. This can be done by creating an issue at http://drupal.org/project/issues/storm.
- Were you just trying Storm?
- Did you end up using Storm?
- What did you find difficult?
- What was the make or break factor for you?
- Another way to help others is to blog about how your installation went. This will allow you to post screenshots too.

View file

@ -0,0 +1,64 @@
Documentation for STORM project management application.
- Project homepage: http://drupal.org/project/storm
- Issue tracking: http://drupal.org/project/issues/storm
--
Storm consists of a set of modules as follows: Storm (base module), Attributes (settings), Organizations, Projects, Tasks, Tickets, Timetrackings, People, Notes, Knowledgebase, Invoices and Expenses.
Each of these provides permissions to control the sharing of data with other users and organizations.
NB: This may conflict with other node access modules.
All components (except Attributes) are nodes, so can be extended as follows:
* CCK can be used to add more fields to the Storm content types
* Views can build customised views
* Taxonomy can be used to tag the contents of the Storm nodes
* Upload can be used to attach files to Storm nodes
* Comments can be used to permit comments on each of the Storm nodes
Storm content nodes also all link together - for example, an invoice can be associated with an organization and project.
SEE BELOW FOR DETAILS OF EACH OF THE MODULES INCLUDED WITHIN THE STORM PACKAGE.
--Storm (base module)--
This module is required for all Storm installations provides a Storm dashboard which gives quick links for the other Storm modules as well as to the Storm administration section.
--Storm Knowledgebase--
Relying only on the Storm base module, this module provides a content type that can be used to collect together important pieces of knowledge, tips and tricks, and can also categorise them by topic.
--Storm Attribute--
Attributes are the values that are used within Storm, such as task status, countries, currencies etc. This module only relies on the Storm base module, but is needed by all of the following modules.
--Storm Organization--
This module allows you to create nodes relating to the organizations that are the stakeholders of your projects. If you wish to create invoices using Storm, your own organization should be created as an organization here.
--Storm People--
Storm People allows the creation of individual contacts within Organizations, and linking of these to Drupal user accounts.
--Storm Teammember--
This module allows the building of team working on a specific project / task / ticket.
--Storm Project--
Storm project allows creation of projects attached to organizations.
--Storm Task--
Storm tasks are the parts that compose a project and can be hierarchically nested to build a work breakdown structure.
--Storm Ticket--
Storm tickets can be used to track bugs, feature requests, or any other category as specified via attributes. They can be associated with an organization, project or task.
--Storm Timetracking--
This module allows the recording of time spent relating to particular organizations, projects, tasks or tickets.
--Storm Note--
This module allows notes to be attached to organizations, projects or tasks.
--Storm Invoice--
Within Storm Invoice, you can create invoices between yourself and clients. A printer friendly version comes included, and with the addition of the tcpdf library (see the INSTALL.txt), you can also download pdf versions of your invoices directly from Storm.
--Storm Expense--
Storm Expense allows the recording of expenses attached to a specific task or project, including information such as whether it is billable.
- Provider: This field will autocomplete with the name of any active organization who is listed as a provider using Storm Organization.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 739 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 739 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Some files were not shown because too many files have changed in this diff Show more