theoo / circl Goto Github PK
View Code? Open in Web Editor NEWCIRCL
CIRCL
# CIRCL CIRCL is an opensource directory for association and small companies. It provides an easy-to-use address book, invoicing and salaries managment. For more information and hosting solutions please visit [http://www.circl.ch] # Disclaimer of Warranty: 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. # Limitation of Liability: IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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.
Find a global solution to search names in table. Name can contains organization name, firsrt name and last name. It requires a nice query to do so, or simply a cached object in people table.
Most of datatables query are based on id or last_name which doesn't makes always sense.
Migrate the model so it's possible to add as many attributes as wanted.
On some case like person's affair page, when using panels the page may flick a lot and focus being lost.
Try to avoid too much movement on the page when working on it (doesn't reload useless things, and do it the smart way).
Get inspiration from Angular maybe.
In rates, a tariff has two value. One to compute the value, another for the statistics which represent the effective cost of this task.
Give access to a method to export all salaries for a given person or a group of person.
Instead of two tables, use one UI and a boolean.
When the address is too long on an invoice it may break the compilation and raise the BVR up.
Simplify roles, add a warning when modifing.
Ensure specific roles match a previously defined use case.
Date are rarely localized, ensure all displayed date are parse with I18n.l
When importing payments, if the parent invoice subscribe to the same subscription as the child invoice, set it as "non billable". It will close the invoice and remove it from statistics.
From an accounting point of view, it would be useful to display "non-billable" column in invoices export. And if possible, it would be useful as well to display the date when the checkbox have been toggled.
Review all french spelling
On Administration->Affairs give the ability to export all tasks from a specific list of contact for a given period.
Affair's status may be wrong due to an error while computing sum (round) in invoices or affairs' value.
Improve perfs and UI with better Icons/Colors and typo. Make it more easy to understand.
Change "paid" icon on salaries listing.
Add global action like "export PDF" as a group from salaries listing.
Automatically fill the creation date with today.
Payment validation confirmation message is wrong (destroy instead of toggle)
Every items (services, products, subscriptions, extras) should always trigger an affair update.
Uglify javascript and put it in public/javascript folder instead of app/assets
Keep in assets only coffeescript code.
in application.rb, remove config.assets.precompile and use javascript file header to load dependencies instead.
Include the doc in UI (modal or new tab)
Like http://eonasdan.github.io/bootstrap-datetimepicker/ maybe.
In some case the current datepicker raise an error and the whole js is corrupted.
And improve user experience.
Add a view to manage creditors (feature well described in private specs)
Allow users to choose either private_tags or presets in price definitions.
Replace background tasks with https://github.com/resque/resque
Background tasks are currently located in model/background_tasks, migrate them to /lib resque's folder.
For each task:
When the migration is done, remove background_tasks table in a rails migration.
Ensure there is no occurrence of background_task model in the project tree (dead code)
Update basic code so background tasks are still visible on dashboard.
Provide resque admin backend to authenticated users with the following equivalent code in routes:
resque_constraint = lambda do |request|
request.env['warden'].authenticate? and request.env['warden'].user.admin?
end
constraints resque_constraint do
mount Resque::Server.new, at: "/resque"
end
Before closing the ticket, prepare two new tickets with:
Estimated time: 10 hours
It should be possible to order 3pc of 1.2m long extruded profile for instance.
Today it's only 1.2m or 3pc, pc being a unit.
Ensure CIRCL is printable (even if it should not be printed)
In /settings#database provide a simple tool to extract/import all information from database.
Basically, this should be a CSV from the table - fast and reliable.
In some case, when there is relations, ensure relation still exists when importing, otherwise this may lead to inconsistency.
This should serve as backup as well, a simple button "download all my CIRCL data" with privacy information should be provided.
When there is a difference between value and paid amount, display it with a visible color.
Currently the export toolbox is located on the bottom of affairs listing (Affairs, Invoices, Reciepts)
Move it the related object, always invoke it when trying to generate any kind of doc: odt, pdf or csv
When importing a new odt template (generic or invoice), it would be nice to be able to test it from the same dialog. Any template.
Refactore indexing and remove Tire.
https://github.com/elastic/elasticsearch-rails
Remarks concerning invoicing 2016:
There is a lots of extensions and small "tools" in /lib, organize and cleanup this folder.
Ensure user can check double in administration->tags.
This means if a person is tagged in more than one tag, provide a toolbox to see it.
Maps lack of print support
If subscription's title is updated, all invoices should be recalculated. By touching affairs or invoices it ensure the recalculation.
Prepare a template for insurance reports (quarters) like LPP.
When ordering values in datatables ensure sorting is coherent.
1 CHF != 1 USD
Use a cached value in every money case to store the true value of an object (in the same currency for instance).
The current model allow more than one subscription, it's useless. A subscription = an affair, it could simplify a lot of processes and the overall understanding of this system.
For instance, affair.title is locked to subscription.title yet, when subscription exists.
Give the possibility to export a list with all product for a subset of contact.
This list could contain any information based on recorded date on product_items.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.