Skip to content

Add UI for adding a catalog price to a series #1342

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
php-coder opened this issue Apr 15, 2020 · 1 comment
Closed

Add UI for adding a catalog price to a series #1342

php-coder opened this issue Apr 15, 2020 · 1 comment
Assignees
Labels
area/frontend estimation/1h Estimated time: 60 minutes kind/task Task that is part of some feature
Milestone

Comments

@php-coder
Copy link
Owner

php-coder commented Apr 15, 2020

On the src/main/webapp/WEB-INF/views/series/info.html page we should add another form to add a catalog price. It should have inputs with price and a catalog name. Also there should be a submit button. Here are the examples that can be helpful:

  • List of catalogs:

    <div class="form-group">
    <label for="catalogName" th:text="|#{t_catalog}:|">Catalog:</label>
    <select id="catalogName" name="catalogName" class="form-control">
    <option value="michel" th:text="#{t_michel}">Michel</option>
    <option value="scott" th:text="#{t_scott}">Scott</option>
    <option value="yvert" th:text="#{t_yvert}">Yvert</option>
    <option value="gibbons" th:text="#{t_sg}">Gibbons</option>
    <option value="solovyov" th:text="#{t_solovyov}">Solovyov</option>
    <option value="zagorski" th:text="#{t_zagorski}">Zagorski</option>
    </select>
    </div>

  • Price:

    <input id="paid-price"
    type="text"
    size="5"
    placeholder="price"
    th:placeholder="${#strings.unCapitalize(price_msg)}"
    th:field="*{price}"
    th:disabled="${paidUser ? null : 'disabled'}"
    />
    <select id="paid-currency"
    th:field="*{currency}"
    th:disabled="${paidUser ? null : 'disabled'}">
    <option value=""></option>
    <option value="USD">USD</option>
    <option value="EUR">EUR</option>
    <option value="RUB">RUB</option>
    <option value="CZK">CZK</option>
    <option value="BYN">BYN</option>
    <option value="UAH">UAH</option>
    </select>
    </p>
    <!--/*/
    <p th:if="${#fields.hasErrors('price') or #fields.hasErrors('currency')}" th:classappend="has-error">
    <span id="paid-price.errors"
    class="help-block"
    th:each="error : ${#fields.errors('price')}"
    th:text="${error}"></span>
    <span id="paid-currency.errors"
    class="help-block"
    th:each="error : ${#fields.errors('currency')}"
    th:text="${error}"></span>
    </p>

When we submit a form, it should send a PATCH request to API /series/{id} with

[
  { "op": "add", "path": "/michel_price", "value": <price> }
]

and reload a page on success. The value of path depends on a value of catalog name -- for Michel catalog, we use "/michel_price" but for Scott it should be "/scott_price" and so on.

It should show an error when server returns an error. Note that there can be 2 type of errors -- general (for a whole form) and validation error (for a particular field).

Part of #1340

@php-coder php-coder added kind/task Task that is part of some feature estimation/30m Estimated time: 30 minutes labels Apr 15, 2020
@php-coder php-coder added this to the 0.4.4 milestone Apr 15, 2020
@php-coder php-coder added area/frontend estimation/1h Estimated time: 60 minutes and removed estimation/30m Estimated time: 30 minutes labels Apr 15, 2020
@php-coder
Copy link
Owner Author

Note that there can be 2 type of errors -- general (for a whole form) and validation error (for a particular field).

The error handling should be the same as in SeriesSaleImportForm and SimilarSeriesForm

php-coder added a commit that referenced this issue May 6, 2020
php-coder added a commit that referenced this issue Jun 13, 2020
Also fix the elements with duplicated ids.

Corrections to the following commits:
- 487ef61 (#1341, #1339)
- 86959e0 (#1342, #1340)
- 660e616 (#1338, #785)
- fb1df42 (#1344, #1343)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/frontend estimation/1h Estimated time: 60 minutes kind/task Task that is part of some feature
Projects
None yet
Development

No branches or pull requests

2 participants