Jump to content

Not sure how to do this...


olemartinorg
 Share

Recommended Posts

Hi all!

First of all, it's now been two weeks since i discovered ProcessWire by searching for "content management framework" and finding a Wikipedia article. The article mentioned both Joomla and Drupal - and other CMS/CMF-systems I have worked with before. I had never heard of ProcessWire, and gave it a try. Wow! It's really amazing! I saw the video on the front page, and I decided that ProcessWire just had to be the system I needed for this new page I'm working on.

So, why am I posting? I've been working for the last two weeks (part time), and I've all the requirements for the page - except one. It's an internal website for our company (or, to be precise; it's for one of the regional offices for a global company), and we want our employees to be able to register how far they walk/bicycle/run to work. I'm really unsure how to set this up in ProcessWire, and I'm pretty sure I have to do this with some manual PHP/SQL code instead.

So, the users on this system needs to:

  • Register a date when they have been working, and how far they have travelled to and from work
  • Preferably also register multiple dates, or a range of dates, when they have been travelling to and from work - together with the distance travelled
  • Admins may select a date range and view sorted tables of travelled distance per employee
  • Users may check their own records, and maybe compare themselves to others
  • Users may check their total distance travelled
  • Users may check their latest registered date

Gurus, what do you recommend? What is the best way to do this in ProcessWire? Should I just set this up with separate scripts and not use fields in ProcessWire for this at all? (I know PHP and SQL, so it's not a problem - I just want to do it with the help of the framework if possible.)

Thanks a lot in advance! :-)

Link to comment
Share on other sites

Hello and welcome to the forums.

I think both approaches are fine here: custom php app or using pw-templates. I would probably use PW templates here myself. If you have very data heavy application (you need to load hundreds or thousands of rows in memory, calculate/manipulate them all etc) then using "pure" mysql would be probably better option then. Not sure how much you have to scale here (like how many records you will have on your date ranges etc).

But if you decide to use PW-templates, here how it goes:

You would have template called something like "travel". There you have fields like datetime, distance, type of travel (walk, bicycle, run). Type of travel needs to be Page field, so somewhere you keep those values as pages (walk, bicycle, run).

Then you need to create page, which requires login, and has one form (log travels). This is where you build custom form where users can log their travels. Each time they fill the form you create new page using travel template. Creating pages from API is super easy and you can easily make form that creates multiple pages with one submit (or ajax form or whatever you need).

Then the most interesting thing would be to create admin view, where those logs can be searched and filtered. That would be perfect as ProcessModule. Process modules are admin pages, and they have nice and simple url routing. See my redirects module as an example: https://github.com/a...rocessRedirects

That would be it. It involves quite a bit custom coding (like with any system), but probably something that is pretty nice and easy to build with ProcessWire.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Content

    • By Saleena Jhon
      Hello There, I have saw a post that was covering event-calendar with php, ajax and js. That was showing a monthly overview when I click on a "month" button or when I switch the month. And show the events on one particular date when I pick a day. Also, most events are kind of exhibitions and so they have a start date and an end date much later, and occur on each day in-between as well. So on the template I put two date picking fileds date_start and date_end. Is there an elegant way to select the events using the API? If yes, kindly help me out.
      Thanks in Advance
      Regards: 
       
    • By opalepatrick
      I am working on my first Process Module. I am creating forms. Fairly straightforward. However, I really can't work out how to create multiple fieldsets?
      $fieldset = $this->modules->get('InputfieldFieldset'); $fieldset->label = 'Customer Source'; $field = $this->modules->get('InputfieldPage'); $field->inputfield = 'InputfieldSelect'; $field->findPagesSelector = 'parent_id=1449, include=hidden'; $field->labelFieldName = 'yff-lead'; $field->name = 'yfflead'; $field->columnWidth = 16; $fieldset->add($field); $field = $this->modules->get('InputfieldPage'); $field->inputfield = 'InputfieldSelect'; $field->findPagesSelector = 'parent_id=1452, include=hidden'; $field->labelFieldName = 'customer-type'; $field->name = 'customertype'; $field->columnWidth = 16; $fieldset->add($field); //Rinse and Repeat $fieldset->label = 'Contacts'; $field = $this->modules->get('InputfieldPage'); $field->inputfield = 'InputfieldSelect'; $field->findPagesSelector = 'parent_id=1538, include=hidden'; $field->labelFieldName = 'salutation'; $field->name = 'salutation'; $field->columnWidth = 16; $fieldset->add($field); I can create the first fieldset (Customer Source) but then get into trouble as the second fieldset overwrites the first. I understand why, but trying to use the open and close fieldset routine has flummoxed me. Any help appreciated.
    • By VeiJari
      Hello forum, we're trying to use Processwire as our REST-API. We are having problems with our API login to Processwire from frontend. It gives us 403 error.
      We have installed ProcessWire to subdirectory (/api/*) and our frontend is static JS files at root ( / ). Apache access logs gives 404 to our POST-request, but browser devtools shows 403 for our POST /api/login request. 
      Processwire backend panel works. We also have a GET endpoint for the API that returns 200 with correct payload.  So we're wondering why does our GET works but POST doesn't?
      Does this have something to do with Processwire .htaccess, or is this because of our webhost? What should we check first? Any help would be appreciated.
    • By rjgamer
      Hi,
      is there a hook after the current (active) page got created? Or which method got called in the Page class after the Constructor of the current page got initialized?
      Thanks.
       
    • By killedfriendz
      I am very sorry for asking this but i totally do not understand how to set values of checbox using API. 
      I have checbox field on my page with name "order_status". 
      So i've tried few ways to make it checked but it still doesn't work:
       
      $userPage->order_status->value = 1; $userPage->order_status->add(1); $userPage->order_status->add(true); Could you please tell me how to do it?
×
×
  • Create New...