sah-comp / ksm Goto Github PK
View Code? Open in Web Editor NEWApplication for lending, selling and maintaining forklifts.
Application for lending, selling and maintaining forklifts.
A new appointment can currently not be created directly from a machine, because an appointment needs the customer first to determine the machine.
Starting from a machine we would first have to lookup the contracts and only if there is just one we could create a new appointment via that contract.
Certain criterias, e.g. appointment types in the appointment list, shall allow multiple selections.
When appointment data of records in the service list are changed this should be indicated so that user learns about it and may reload the service list before editing.
When installing an article it is sometimes problematic to find the original article, because the article code occurs very often. For example searching for article code 3798793 will find more than ten articles and none of the first ones shown in autocomplete is the original article needed. Otherwise user does not know more information about the article to further break down the search list.
Line 242 in c5e5785
How to handle a blank installedpart bean when updating a machine bean. When editing a machine in the frontend a blank record is added to allow the user to quickly add a installedpart record to a machine. If he or she doesn't we have to get rid of it again, because otherwise RB will throw an exception.
Implement a file upload feature. To migrate the files already uploaded we need to get our hands on the physical artifacts.
Here is a list of features found in the old application. They may never be implemented, but are listed here for completion.
Allow adding an article as installed part and allow to overwrite the articles prices (purchase, sale) with the entered values optionally.
Overall several attributes which seem to be expecting numbers are filled with alphanumeric information. E.g. in machine beans there is buildyear or maxload or weight or height. I could go on. These information can not be handled well and I had to change form input types from number to text.
e.g. a contract has no selected contracttype. When updating the machine bean used in that contract the validator hasValue on attribute name of contracttype fails because there is no name set.
Each article may have a supplier, the main supplier. Along that supplier, there shall be additional backup suppliers.
Questions:
How to handle prices in general. Each supplier has different purchase prices for the article. There might be different sales prices, or only one. Talk about this feature.
Check for a given file and if there assume no file is uploaded if error 4 is given.
For some users it is easier to copy the article code out of a readonly input field. Make article code so.
Contactinfo should appear in a certain order:
When filtering in a date column, it shall be possible to enter a date range.
E.g. user wants to see all appointments beginning from May 23 und Dec 15 of the year 2020, he may enter something like "2020-05-23 ... 2020-12-15" in the criteria field of the column and the getSql() will accomplish a query like (date >= '2020-05-23' AND date <= '2020-12-15').
When filtering for a article number it does not work. Maybe because there are numeric and alphanumeric values in that column?
Customer likes to select the machine for an appointment by searching after serial number or internal number or other criterias as well as being able to select from the list of machines attached to the already choosen customer.
The contract module is currently used to relate a customer and a machine. Those contracts are using the contract type "machine". Other ways to relate machines to a customer are welcome.
Due to the $contact->with("ORDER BY label")->ownContactinfo
the array with contactinfo bean may be empty.
Using version 2 of ChartJS. Although defined in options I can not see the labels on the x- and y axis:
ksm/app/Controller/Article.php
Line 53 in f241de6
'scales' => [
'xAxes' => [
'display' => true,
'scaleLabel' => [
'display' => true,
'labelString' => I18n::__('article_chart_xaxis_label')
]
],
'yAxes' => [
'display' => true,
'scaleLabel' => [
'display' => true,
'labelString' => I18n::__('article_chart_yaxis_label')
]
]
]
Steps to reproduce:
You will get a Server Error 500: Expected bean but got :array
An appointment may be stored with an interval. If an appointment is "completed" and it has set interval to any value greater zero, a new appointment with the date set to last date plus interval (days) shall be created.
In this issue you find all todos that where identified in user interviews. It might be useful to isolate certain items as dedicated issue. The interview took place on 2020-10-22 with Ms. V. and on 2020-10-23 with Mr. G.
In general it would be great to allow filtering and sorting of related records when viewed in a parents bean tab. If the related records are editable or a new related record can be added directly in the tab view it should be possible to reach the "add" function without scrolling to the bottom of the list (of related records).
When user selects a customer in appointment the machines connected via contracts shall be preselected. When user than enters the machine field only machines shall be available that a contracted to the selected customer. The same shall be done for locations and contacts.
When a form with tabs was used, the application should remember that tab.
Update selected appointments in service list view, changing the following information:
A search field, that searches all viable objects. The searchterm will be searched for in all user editable working data and give a list of all hits on one page.
Precondition: There is a form showing a bean which may be related to another bean. You could add a link to your form showing customer information whichs says "add a new invoice". Clicking that link or button should feed the new invoice bean with data from the just view customer.
Quite often there several types of works to do on the same machine. These are managed each and every on in a specific appointment. These appointments shall be grouped into one entry of the list if possible or at least be group visual to make it easier to spot that only one machine is involved.
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.